0

Enter を Tab キーに置き換える方法について多くの解決策を見つけましたが、Enter でTab と Enterをシミュレートする必要があります。助けてください:

入力フィールドとリンクのリストがあります (リストは入力によってフィルタリングされます)。入力が完了してEnterキーを押すと、最初のリンクが「クリック」されます。これを行う1つの方法は、Enterキーの前にタブキーをシミュレートすることだと思いますが、どうすればよいですか?

他の選択肢はありますか?

これは私が持っているものです:

    <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 に答える