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

标签 javascript

我有一个空的文本字段,但是当您单击它时,它会根据之前的输入提供一些建议。

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

我正在使用 jquery 1.6.2 来绑定(bind)监听器:

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

最佳答案

oninput 事件触发。

尝试:

    <!doctype html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>title</title>
        </head>
        <body>
            <form method="get" id="" action="">
                <input type="text" name="name" oninput="alert('oninput')"/>
                <input type="submit" value="done"/>
            </form>
        </body>
    </html>

oninput,onpropertychange,onchange的区别:

onchange 仅在以下情况下触发

a)用户界面改变的属性

b)元素失去焦点

onpropertychange 在属性更改时触发。但它只是 IE

输入

oninput 是 onpropertychange 的 W3C 版本。 IE9 开始支持这个事件。

oninput 仅在元素值改变时触发。

所以如果你想在所有浏览器中兼容

IE<9 使用onpropertychange

IE>9等浏览器使用oninput

如果你使用 jQuery ,你可以绑定(bind)两个共享同一个处理程序的事件

$(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);
  })
}) 

演示在 http://output.jsbin.com/salekaconi

关于javascript - 触发哪个事件? (javascript,输入字段历史记录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17748876/

相关文章:

javascript - jquery 每个如果值存在则追加到前一个值

javascript - 在 Typescript 中创建/修复 node-json2html 的声明文件

javascript - 顺序运行 NPM 脚本

javascript - decodeURIComponent vs unescape,unescape有什么问题?

Javascript 应用程序 : bad design makes hundreds of ajax calls

javascript - 下拉列表中的 Bootstrap 搜索表单

javascript - 为什么 jQuery html() 在 IE10 的网页中运行时失败

javascript - 从 JSON 数据构建表格布局(代码改进)

php - 地址栏中有 "#;"的 firefox

javascript - 使用 Jquery 将 Iframe 插入到类中