0

我找到了很多关于如何用 tab 键替换 enter 的解决方案,但是我需要模拟tab 并在 enter上输入,请帮助:

我有一个输入字段,然后是一个链接列表(该列表由输入过滤)。当我完成输入并按回车后,我希望第一个链接被“点击”。我认为我可以做到这一点的一种方法是在 enter 键之前模拟一个 tab 键,但我该怎么做呢?

还有其他选择吗?

这就是我所拥有的:

    <input type="text" id="search_filter" style="COLOR: #999" onFocus="if (this.value == 'sometext') {this.value=''; this.style.color='#000';}" name="filter" value="someothertext" />
        <div id="links">    
            <ul>
                <li><a href="someurl">Link 1</a></li>
                <li><a href="someurl">Link 2</a></li>
                <li><a href="someurl">And so on</a></li>
            </ul>
        </div>

谢谢!

4

2 回答 2

1
<input type="text" id="input1"/>
<a href="someUrl">Link</a>

<script>

   $(function(){
           $("#input1").keypress(function(event){
                var ENTER = 13;
                if ( event.which == ENTER ) {
                     $(this).next("a").click();
                     e.preventDeafult();
                     return false;
                }
           })
   })
</script>
于 2012-04-10T11:44:36.103 回答
0

注意keypresskeydown之间的区别。Keypress 不会在某些键上触发。所以这是我使用 jQuery 和 keydown 的实现:

editorField.keydown( function(e) {
        switch ( e.keyCode ) {
        //13 for Enter
        case 13:
            saveCell();
            break;

        case 40: //I don't remeber which one of those is 'tab'. 
        case 9: //The other should be right arrow
            cell.parent().next().find('td.value').dblclick();
            return false;
            break;
        default:
            break;
        }
    } );

这是我的内联单元格编辑代码,但希望你能根据自己的需要调整它。

于 2012-04-10T12:30:56.850 回答