Javascript jQuery不会停止在本机事件处理程序上传播'jQuery.click()'

Javascript jQuery不会停止在本机事件处理程序上传播'jQuery.click()',javascript,jquery,Javascript,Jquery,我们在测试中使用模拟用户点击。我们注意到以下奇怪之处: 即使在使用时调用了Event.stopPropagation(),也会调用本机注册的事件处理程序 正确使用本机文件可以停止传播 这是错误还是预期行为 例子: 给定以下HTML: 点击我! 以及以下JavaScript: window.document.addEventListener( “点击”, 函数(){ console.log('单击文档') } ) $(“按钮”)。在( “点击”, 职能(e){ e、 停止传播() console

我们在测试中使用模拟用户点击。我们注意到以下奇怪之处:

即使在使用时调用了
Event.stopPropagation()
,也会调用本机注册的事件处理程序

正确使用本机文件可以停止传播

这是错误还是预期行为

例子: 给定以下HTML:

点击我!
以及以下JavaScript:

window.document.addEventListener(
“点击”,
函数(){
console.log('单击文档')
}
)
$(“按钮”)。在(
“点击”,
职能(e){
e、 停止传播()
console.log('事件传播已停止')
}
)
//使用jQuery.click()方法按以下顺序记录这两个日志:
//*事件传播已停止
//*文件点击
$(“按钮”)。单击()
//使用本机HtmleElement.click()停止事件的传播:
//*事件传播已停止
$(“按钮”)[0]。单击()

你可以在这里找到一个例子:

请看一下。。。。使用isPropagationStopped()方法代替StopRopAgation()。在事件内部,stopPropagation()方法不可用。同时检查控制台日志。@Shiladitya:
isPropagationStopped()
没有副作用,并返回布尔值<代码>停止传播()另一方面,它会停止传播。因此,代码不会停止传播是有道理的。我描述的问题是事件传播没有停止。