android/firefox:event.keycode在键盘上返回未定义



我有一个网站应用程序具有搜索栏。搜索栏在Android设备上的Firefox以外的所有其他浏览器中都可以正常工作。

我已经提醒keyCode并为每个键都没有定义。

以下是我使用的代码。

domReady(function()
{
  var is_android = navigator.userAgent.toLowerCase().indexOf("android") > -1;
  var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
  if( is_firefox && is_android )
  {
    $('#search, #support-search').bind('input keyup', __search );
  }
  else
  {
    $('#search, #support-search').on( 'keyup', __search );
  }
}
var __search = function( event )
{
  var kc = event.which || event.keyCode;
  alert("KC:"+kc);
  alert("event.keyCode:"+event.keyCode);
}

两个警报显示未定义。

请让我知道这里出了什么问题。

您的状况迫使Android和Firefox使用bind()几乎没有任何意义。在所有情况下均应使用on()domReady()函数可以成为一个单线函数,该函数附加了事件,例如:

domReady(function()
  $('#search, #support-search').on('input keyup', __search);
}
var __search = function(e) {
  var kc = e.which || e.keyCode;
  console.log("KC:" + kc);
  console.log("event.keyCode:" + e.keyCode);
}

还请注意,在alert()上使用console.log()进行调试。避免使用alert()作为胁迫数据类型,因此您看到的可能不是实际值。

相关内容

  • 没有找到相关文章

最新更新