多个事件监听器用于"输入"事件

时间:2014-11-15 17:49:25

标签: javascript jquery javascript-events event-handling handler

我知道你可以为"点击"添加多个事件监听器。像这样的事件:

$("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]}

1 个答案:

答案 0 :(得分:0)

我没有问题:检查出来 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/