“输入”事件的多个事件侦听器

Multiple event listeners for "input" event

本文关键字:事件 侦听器 输入      更新时间:2023-09-26

我知道你可以像这样为"click"事件添加多个事件侦听器:

$("input").bind("click",function(e){
        console.log("one");
    })
$("input").bind("click",function(e){
        console.log(two);
    })

但是,如何为"输入"事件添加多个事件侦听器呢?我试过这个,但似乎它只得到了最后一个事件侦听器:

$("input").bind("input",function(e){
        console.log("one");
    })
$("input").bind("input",function(e){
        console.log("two");
    })

当我键入内容时,我在控制台中只得到"两个"。

这是console.log($._data( $("input")[0], "events" ));的结果:

Object {click: Array[2], input: Array[1]}

我没有问题:看看这个

http://jsbin.com/sisozisoko/1/edit?html,js,output但我认为重新组织你的代码会更好:

var printOne = function(e){
        console.log("one");
    },
    printTwo = function(e){
        console.log("two");
    };
$("input").on("click", function () {
    printOne();
    printTwo();
});

不再使用属性绑定:http://www.elijahmanor.com/differences-between-jquery-bind-vs-live-vs-delegate-vs-on/