输入类型搜索“输入”事件不返回keyCode值

时间:2015-07-30 07:05:30

标签: javascript jquery jquery-events

我有一个输入类型搜索文本框,我希望在keyCode事件中input值。但输入事件无法返回keycode

有没有办法在keyCode事件中获得input值?

请检查此Fiddle或代码段。

$('#search').on('input', function(event) {
  var keycode = (event.keyCode ? event.keyCode : event.which);
  console.log(keycode); // undefined got
  $('div.log').text(String(keycode));
  if (this.value == '') {
    alert('Please enter a search criteria!');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input type="search" id="search">
<div class="log">aa</div>

2 个答案:

答案 0 :(得分:3)

  

我想在输入事件中使用keyCode值。但是输入事件不能返回键码。

正如您所确定的,您想要的不可能。

可以在没有按键的情况下触发输入事件,因此它们不会在事件对象中获取任何关键数据。

如果您想知道按下了什么键,请使用keyup / press / down。

答案 1 :(得分:0)

试试这个。

  <input onkeypress="javascript:return false;" id="txtChar"  type="text" name="txtChar">
<span id="spnCode" name="spnCode"></span>

$("#txtChar").on('keydown',function(event){
    var textBox = $('#txtChar').val();
     var charCode = event.keyCode
$('#spnCode').html('KeyCode:  ' + charCode);

    return false;

 });

Working Demo