我知道你可以像这样为"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/