搜索

首页  >  问答  >  正文

移动设备上的keyup、keydown和keypress事件存在问题

<p><br /></p> <p>我一直在尝试让它工作,但是我不知道发生了什么,我有以下代码:</p> <pre class="brush:php;toolbar:false;">$('#buscar-producto').on('keydown', function(e){ console.log('hello'); console.log(e.keyCode); });</pre> <p>它在电脑上可以工作,但在手机上不行...</p> <p><strong>编辑:</strong> 我需要在按下键时获取keyCode...</p>
P粉461599845P粉461599845488 天前599

全部回复(2)我来回复

  • P粉431220279

    P粉4312202792023-08-23 22:08:13

    你可以尝试event.keyevent.keyCodeevent.which

    如果以上都不起作用,你可以尝试event.target.value.splice(-1)

    回复
    0
  • P粉550257856

    P粉5502578562023-08-23 19:41:36

    keydown 应该可以工作,但是你可以使用input事件,这似乎对Android移动设备产生了不良影响...
    要获取按下键的代码,可以使用jQuery的标准化Event.which

    已测试的Android Chrome:

    使用input事件(e.which始终为0,所以在Android设备上似乎是一个错误)

    jQuery(function($) { // DOM准备就绪和$别名已保证
    
      $('#buscar-producto').on('input', function(e){
        var key = e.which || this.value.substr(-1).charCodeAt(0);
        alert( key )
      });
    
    });
    <input type="text" id="buscar-producto" placeholder="搜索...">
    
    <script src="https://code.jquery.com/jquery-3.1.0.js"></script>

    回复
    0
  • 取消回复