【问题标题】:How to simulate tab and enter key when enter is pressed, preferably in JavaScript按下回车键时如何模拟制表符和回车键,最好在 JavaScript 中
【发布时间】:2012-04-10 11:38:31
【问题描述】:

我找到了很多关于如何用tab键替换enter的解决方案,但是我需要在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>

谢谢!

【问题讨论】:

  • 如果您能分享一些包括 DOM 结构在内的代码,我们将不胜感激。

标签: javascript jquery keyboard enter


【解决方案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>

【讨论】:

  • 我改变它。请再试一次
【解决方案2】:

注意 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;
        }
    } );

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 2011-07-09
    • 2018-06-05
    • 1970-01-01
    • 2019-12-23
    • 2012-01-02
    • 2010-11-13
    相关资源
    最近更新 更多