按键上的焦点输入框

时间:2016-03-16 15:34:13

标签: javascript html onfocus

我创建了一个实时搜索,我希望当用户点击ESC时,它应该关注输入框并删除其内容(如果不是自动为空)。

我可以删除内容,但不会专注于按键。

当我在focus();

上使用时,window.onload功能正常工作

我有现有的代码:(由于Focus Input Box On LoadJavaScript set focus to HTML form element已经尝试了评论中的代码,并且{{3}})

var aramaAlani = document.getElementById("id_arama");

$( document ).on( 'keydown', function ( e ) {
    if ( e.keyCode === 27 ) { //ESC key code
        aramaAlani.reset();
        aramaAlani.focus();     
        //aramaAlani.scrollIntoView();
        //document.forms[ 'id_arama' ].elements[ _element ].focus();
        //document.getElementById("id_search").focus();
    }
});

关键事件是否有任何特定方法可以关注元素?

1 个答案:

答案 0 :(得分:1)

您无法在clear上调用input功能。

您有两个选择:

使用input.value = '';

清除特定输入

像这样:



<body>
  <input type="text" id="id_arama" />
  <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
  <script>
    var form = document.querySelector('form');
    var aramaAlani = document.getElementById("id_arama");

    $( document ).on( 'keydown', function ( e ) {
      if ( e.keyCode === 27 ) { //ESC key code
        //form.reset();
        aramaAlani.value = '';
        aramaAlani.focus();     
        //aramaAlani.scrollIntoView();
        //document.forms[ 'id_arama' ].elements[ _element ].focus();
        //document.getElementById("id_search").focus();
      }
    });
  </script>
</body>
&#13;
&#13;
&#13;

或者您可以使用reset() 方法,但只能在form元素上调用它。此解决方案的优点是,如果您想清除许多输入。

像这样:

&#13;
&#13;
<body>
  <form>
    <input type="text" id="id_arama" />
  </form>
  <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
  <script>
    var form = document.querySelector('form');
    var aramaAlani = document.getElementById("id_arama");

    $( document ).on( 'keydown', function ( e ) {
      if ( e.keyCode === 27 ) { //ESC key code
        form.reset();
        aramaAlani.focus();     
        //aramaAlani.scrollIntoView();
        //document.forms[ 'id_arama' ].elements[ _element ].focus();
        //document.getElementById("id_search").focus();
      }
    });
  </script>
</body>
&#13;
&#13;
&#13;