Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “的多个事件侦听器”;输入“;事件_Javascript_Jquery_Javascript Events_Event Handling_Handler - Fatal编程技术网

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

Javascript “的多个事件侦听器”;输入“;事件,javascript,jquery,javascript-events,event-handling,handler,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",fun

我知道您可以为“单击”事件添加多个事件侦听器,如下所示:

$("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($.\u数据($($(“输入”)[0],“事件”)的结果

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

我没有问题:请查看此

但我认为重新组织代码会更好:

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

属性绑定不再使用:

对我来说很好:我不确定你在这里尝试什么。将同一事件附加到同一组元素上两次?只是为了确保,它是
console.log('two')
,而不是
console.log(两个)
@theonlygust似乎我的代码是错误的(我在不同的上下文中使用它)问题解决了。我的脚本中似乎有一些“坏代码”。谢谢你抽出时间!“属性绑定已弃用”,input()、focus()和其他与事件相关的方法是绑定的快捷方式(“blah”)!bind:function(types,data,fn){return this.on(types,null,data,fn);},这并不是一个很好的使用方法,因为在最后它会被使用。@ariel_556它不会使它被弃用,从文档:
到jQuery 1.7,.on()方法是将事件处理程序附加到文档的首选方法。对于早期版本,.bind()方法用于将事件处理程序直接附加到元素。处理程序附加到jQuery对象中当前选定的元素,因此这些元素必须在调用.bind()时存在。有关更灵活的事件绑定,请参阅.on()或.delegate()中的事件委派讨论。
,我并不是说它不推荐使用。