Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/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 jQuery中的addEventListener_Javascript_Javascript Events_Jquery_Addeventlistener - Fatal编程技术网

Javascript jQuery中的addEventListener

Javascript jQuery中的addEventListener,javascript,javascript-events,jquery,addeventlistener,Javascript,Javascript Events,Jquery,Addeventlistener,可能重复: 同样来自一个非常好的jQuery教程: 以下语句的jQuery等价物是什么 element1.addEventListener('click',doSomething2,false) 如果是bind()方法,是否有任何选项指定最后一个参数(即事件冒泡或捕获…true/false) 谢谢。使用jquerys 例如: document.bind("custom-listener", someCustomFunction, false); document.trigger("cust

可能重复:

同样来自一个非常好的jQuery教程:

以下语句的jQuery等价物是什么

element1.addEventListener('click',doSomething2,false)
如果是bind()方法,是否有任何选项指定最后一个参数(即事件冒泡或捕获…true/false)

谢谢。

使用jquerys

例如:

document.bind("custom-listener", someCustomFunction, false);

document.trigger("custom-listener", {jsonArgsKey:jsonValue});

function someCustomFunction(json)
{
alert(json.jsonArgsKey);
}
像这样:

$(element1).click(doSomething)
如果要停止冒泡,请在
doSomething
函数中调用
event.stopPropagation()
,如下所示:

function doSomething (event){
  event.stopPropagation()
  // do whatever
}

但是,无法使用jQuery设置捕获事件处理程序。

是的,我非常确定。bind()将根据需要工作。看看这个,我相信你能搞清楚设置。演示代码如下:

$(document).ready(function() {
    $("#element1").bind('click', function() {
        // do something on click
    } 
});
试试这个

// Setting the third argument to false will attach a function
// that prevents the default action from occurring and 
// stops the event from bubbling.
$("#element1").bind("click", doSomething2, false);

是的,
bind
的第三个参数仍然可以用于此效果:
false
是所有事件处理程序的默认值,因为IE不支持在捕获阶段触发处理程序。jQuery无法将其设置为
true
@James:我想您误解了第三个参数。它是一个函数或
false
,但在这种情况下
false
意味着:将第三个参数设置为false将附加一个函数,该函数可防止默认操作发生并阻止事件冒泡。@Felix-将第三个参数设置为false将附加一个函数,该函数可防止默认操作发生并阻止事件冒泡。“还是我误解了这个问题?同样的问题:是的,值得一提的是,它是从1.4.3版本开始添加的,这与
addEventListener
的第三个参数不同。它只是
函数(){return false;}
的快捷方式。您编写的调用将把
doSomething2
视为事件数据(可能会抛出错误)。@Felix-我同意您的看法,但OP希望通过传递参数来防止事件冒泡。@Shankar:不,将
false
传递给
addEventListener
不会这样做(防止冒泡)。它只是指示应该在哪个阶段触发事件处理程序。看看@Felix——我并不是说我提供的解决方案完全等同于它。但是它解决了OP在问题的第二行提到的绑定问题。您忘记了
$
函数!你是说
$(文档)。绑定…
等等。?