捕获文本框中的TAB键
我希望能够使用Tab文本框中的键在四个空格之间切换。现在,Tab键将光标跳到下一个输入。
是否有一些JavaScript可以在气泡进入UI之前捕获文本框中的Tab键?
我了解某些浏览器(即FireFox)可能不允许这样做。像Shift+ Tab或Ctrl+ 这样的自定义按键组合怎么样Q?
回答:
即使捕获了keydown/ keyup事件,这些也是tab键触发的唯一事件,您仍然需要某种方法来防止发生默认操作,即按tab键顺序移动到下一个项目。
在Firefox中,您可以preventDefault()在传递给事件处理程序的事件对象上调用方法。在IE中,您必须从事件句柄返回false。JQuery库preventDefault在其事件对象上提供了一种在IE和FF中工作的方法。
<body><input type="text" id="myInput">
<script type="text/javascript">
    var myInput = document.getElementById("myInput");
    if(myInput.addEventListener ) {
        myInput.addEventListener('keydown',this.keyHandler,false);
    } else if(myInput.attachEvent ) {
        myInput.attachEvent('onkeydown',this.keyHandler); /* damn IE hack */
    }
    function keyHandler(e) {
        var TABKEY = 9;
        if(e.keyCode == TABKEY) {
            this.value += "    ";
            if(e.preventDefault) {
                e.preventDefault();
            }
            return false;
        }
    }
</script>
</body>
以上是 捕获文本框中的TAB键 的全部内容, 来源链接: utcz.com/qa/403292.html



