触发了哪个事件?(javascript,输入字段历史记录)

触发了哪个事件?(javascript,输入字段历史记录),javascript,Javascript,我有一个文本字段是空的,但当你点击它时,它有一些来自以前输入的建议 如果我用鼠标选择其中一个,会触发哪个JavaScript事件 我使用jquery 1.6.2绑定侦听器: view.textRegistrations.bind("blur change keyup", function(event) { //do Something }); 已触发oninput事件 尝试: 在上演示一个非常有用的工具,可以帮助您解决问题。基本上,对于屏幕上的任何元素,它都会告诉您该元素注册了哪个Ja

我有一个文本字段是空的,但当你点击它时,它有一些来自以前输入的建议

如果我用鼠标选择其中一个,会触发哪个JavaScript事件

我使用jquery 1.6.2绑定侦听器:

view.textRegistrations.bind("blur change keyup", function(event) {
    //do Something
});

已触发oninput事件

尝试:


上演示一个非常有用的工具,可以帮助您解决问题。基本上,对于屏幕上的任何元素,它都会告诉您该元素注册了哪个Javascript evenets

这是一个bookmarklet,所以你要做的就是将它拖到书签栏,导航到你感兴趣的页面,然后单击链接。急板地!有关当前注册的Javascript事件的详细信息

正如@smerny所说,很有可能它甚至不是Javascript,而只是本机浏览器功能。也就是说,您可能很容易实现自己的版本。

输入事件报告了一个更改(我正在使用Google Chrome v28进行测试)

但同时,console中的监控事件发生时不会报告任何事件

monitorEvents(document.getElementsByTagName('input')[0]);

在控制台中应用,例如

这是什么浏览器?我不认为它与javascript有任何关系……没有。您无法从输入字段跟踪建议!这将是一个很大的隐私问题issue@neal当前位置我正在使用Firefox,我认为这不是你可以利用的东西。它是浏览器跟踪的“自动完成”列表of@MichaelWalter当前位置我不想跟踪这些建议。。。我想跟踪何时选择了一个。这在Chrome中起作用,看起来像Firefox中的onchange,因为我使用的是jquery,我只需要将输入添加到我的事件列表中
$(function($) {
  //the same handler
  function oninput(e){
    //do sth
  }

  $("#ipt").on("input", function(e){
    console.log("trigger by oninput");
    oninput(e);
  })

  $("#ipt").on("propertychange", function(e) {
    console.log("trigger by propertychange");
    oninput(e);
  })
}) 
document.getElementsByTagName('input')[0].oninput = function (e) {
    console.log('input', e);
};
monitorEvents(document.getElementsByTagName('input')[0]);