输入列表选择更改事件

swa*_*er7 10 html events input list html-datalist

我有这个例子:

<datalist id="browsers">
  <option value="Internet Explorer">
  <option value="Firefox">
  <option value="Google Chrome">
  <option value="Opera">
  <option value="Safari">
</datalist>
Run Code Online (Sandbox Code Playgroud)

当用户选择选项(使用鼠标或键盘)时,我需要捕获一个事件.

我试着做onchange ="MySuperFunction();" 但这仅适用于选择项目然后列表未聚焦的情况.

Exp*_*lls 17

input活动应该适合您的需求.据我了解,您不能直接使用数据列表,但它通过list属性连接到输入.此事件绑定将继续输入:

document.getElementById('browsers-input').addEventListener('input', function () {
   console.log('changed'); 
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/vccfv/

  • 这不仅响应与数据主义者相关的事件,还响应输入的任何变化,包括用户键入自己的文本时. (3认同)