基于Jquery的回车成tab焦点切换效果代码(Enter To Tab ) |
本文标签:回车,tab 第一种方法: 复制代码 代码如下: $(document).ready(function () { $(:input:text:first).focus(); $(:input:enabled).addClass(enterIndex); // get only input tags with class data-entry textboxes = $(.enterIndex); // now we check to see which browser is being used if ($.browser.mozilla) { $(textboxes).bind(keypress, CheckForEnter); } else { $(textboxes).bind(keydown, CheckForEnter); } }); function CheckForEnter(event) { if (event.keyCode == 13 && $(this).attr(type) != button && $(this).attr(type) != submit && $(this).attr(type) != textarea && $(this).attr(type) != reset) { var i = $(.enterIndex).index($(this)); var n = $(.enterIndex).length; if (i < n - 1) { if ($(this).attr(type) != radio) { NextDOM($(.enterIndex),i); } else { var last_radio = $(.enterIndex).index($(.enterIndex[type=radio][name= + $(this).attr(name) + ]:last)); NextDOM($(.enterIndex),last_radio); } } return false; } } function NextDOM(myjQueryObjects,counter) { if (myjQueryObjects.eq(counter+1)[0].disabled) { NextDOM(myjQueryObjects, counter + 1); } else { myjQueryObjects.eq(counter + 1).trigger(focus); } } 方法二(转载网络) 复制代码 代码如下: document.onkeydown = function(evt) { var isie = (document.all) ? true : false; var key; var srcobj; alert(isie); if (isie) { key = event.keyCode; srcobj = event.srcElement; } else { alert(evt); key = evt.which; srcobj = evt.target; } if (key == 13 && srcobj.type != button && srcobj.type != submit && srcobj.type != reset && srcobj.type != textarea && srcobj.type != ) { if (isie) { event.keyCode = 9; } else { var el = getNextElement(evt.target); if (el.type != hidden) el.focus(); else while (el.type == hidden) el = getNextElement(el); el.focus(); return false; } } } document.onkeyup = function(evt) { var isie = (document.all) ? true : false; var key; var srcobj; alert(isie); if (isie) { key = event.keyCode; srcobj = event.srcElement; } else { alert(evt); key = evt.which; srcobj = evt.target; } if (key == 13 && srcobj.type != button && srcobj.type != submit && srcobj.type != reset && srcobj.type != textarea && srcobj.type != ) { if (isie) { event.keyCode = 9; } else { var el = getNextElement(evt.target); if (el.type != hidden) el.focus(); else while (el.type == hidden) el = getNextElement(el); el.focus(); return false; } } } 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]; } function document.onkeydown() { var e = event.srcElement; if (event.keyCode == 13 && e.tagName == "INPUT" && e.type == "text") event.keyCode = 9; } |