js实现enter键tab功能
這個(gè)是不用修改,直接放在js里就可以用的:
//按enter鍵實(shí)現(xiàn)tab鍵的效果
document.οnkeydοwn=function(evt){
?//document.all可以判斷瀏覽器是否是IE,是頁(yè)面內(nèi)所有元素的一個(gè)集合
?var isie = (document.all) ? true : false;
?var key;
?var srcobj;
?// if the agent is an IE browser, it's easy to do this.
?if (isie) {
??key = event.keyCode;
??srcobj=event.srcElement;//event.srcElement,觸發(fā)這個(gè)事件的源對(duì)象
?}
?else {
??key = evt.which;
??srcobj=evt.target;//target是Firefox下的屬性
?}
?if(key==13 && srcobj.type!='button' && srcobj.type!='submit' &&srcobj.type!='reset' && srcobj.type!='textarea' && srcobj.type!='') {
??if(isie)
???event.keyCode=9;//設(shè)置按鍵為tab鍵
??else {
???var el=getNextElement(evt.target);
???if (el.type!='hidden')
????;?? //nothing to do here.
???else
????while(el.type=='hidden')
?????el=getNextElement(el);
???if(!el)
????return false;
???else
????el.focus();
??}
?}
}
function getNextElement(field) {
?var form = field.form;
?for(var e = 0; e < form.elements.length; e++) {
??if (field == form.elements[e])
??break;
?}
?return form.elements[++e % form.elements.length];
}
順便介紹一下document.all的功能:
document.all用法?
一.
document.all是頁(yè)面內(nèi)所有元素的一個(gè)集合。例如:??????
document.all(0)表示頁(yè)面內(nèi)第一個(gè)元素
二.
document.all可以判斷瀏覽器是否是IE??
if(document.all)
{??
??? alert("is?? IE!");??
}
三.
也可以通過(guò)給某個(gè)元素設(shè)置id屬性(id=aaaa),然后用document.all.aaaa調(diào)用該元素
四.
案例:
代碼1:????
? <input?? name=aaa?? value=aaa>??
? <input?? id=bbb?? value=bbb>???
? <script?? language=Jscript>??
????? alert(document.all.aaa.value)???? //根據(jù)name取value??
????? alert(document.all.bbb.value)???? //根據(jù)id取?? value??
? </script>????
代碼2:??
但是常常name可以相同(如:用checkbox取用戶的多項(xiàng)愛(ài)好的情況)???
? <input?? name=aaa?? value=a1>??
? <input?? name=aaa?? value=a2>??
??<input?? id=bbb?? value=bbb>??
? <script?? language=Jscript>??
????? alert(document.all.aaa(0).value)???? //顯示a1??
????? alert(document.all.aaa(1).value)???? //顯示a2??
????? alert(document.all.bbb(0).value)???? //這行代碼會(huì)失敗?
? </script>????
代碼3:??
理論上一個(gè)頁(yè)面中的id是互不相同的,如果出現(xiàn)不同tags有相同的id??
? document.all.id?? 就會(huì)失敗,就象這樣:??
? <input?? id=aaa?? value=a1>??
? <input?? id=aaa?? value=a2>??
? <script?? language=Jscript>??
??????alert(document.all.aaa.value)???? //顯示?? undefined?? 而不是?? a1或者a2?
? </script>??
也就是說(shuō)document.all[]是文檔中所有標(biāo)簽組成的一個(gè)數(shù)組變量,
包括了文檔對(duì)象中所有元素
document.all[]這個(gè)數(shù)組可以訪問(wèn)文檔中所有元素。
?
總結(jié)
以上是生活随笔為你收集整理的js实现enter键tab功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win10系统下配置jupter的文件路
- 下一篇: iOS8 Core Image In S