文本输入未触发更改事件

Change event not being triggered on text input

我正在尝试将函数绑定到 'change' 事件,但它不起作用。到目前为止,我已经尝试使用 4 种方法。

1.

$('#search').on('change', function(){ console.log('a') })
$('#search').change(function(){ console.log('a') })
$(document).on('change', '#search', function(){ console.log('a') })
document.getElementById('search').onchange = function(){ console.log('a') }

None 正在工作。我尝试从控制台(Chrome 的开发工具)添加它们。

Here 是我试图使其正常工作的页面。任何帮助将不胜感激。 :)

input 事件不同,change 事件不一定会在元素值的每次更改时触发。您 can/should 使用 input 事件而不是 change。它会在每次击键时触发,即使您只是从剪贴板粘贴内容:

document.querySelector("#search").addEventListener('input', e => {
  console.log(e.target.value)
})