【问题标题】:onFocus event.which is always 0onFocus 事件。它始终为 0
【发布时间】:2019-09-15 22:48:13
【问题描述】:

我想进入一个内容可编辑的 div 并做一些事情,因为我正在使用onFocus="(arguments[0].keyCode ? arguments[0].keyCode : arguments[0].which) === 9",问题是,arguments[0].which/keyCode 始终为 0,(对于 tab 应该是 9)

有什么想法吗?

(是的,这只是被标记为重复,但它不是(至少对于链接的重复))

【问题讨论】:

    标签: javascript html focus contenteditable


    【解决方案1】:

    问题是onFocus 事件与key-action 事件不同,因此它不携带该信息。您可以尝试另一种方法,例如侦听文档上的keyup 事件,然后检查您的元素是否具有焦点。这是一个带有 2 个输入的工作示例,您可以尝试切换到第二个。

    document.addEventListener('keyup', evt => {
      if ((evt.keyCode ? evt.keyCode : evt.which) === 9 && document.querySelector('#input2:focus')) {
        console.log('I WAS TABBED INTO')
      }
    })
    <input name="asd">
    <input id="input2">

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-22
      • 2023-03-10
      • 2014-01-09
      • 1970-01-01
      • 2011-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多