相关疑难解决方法(0)

什么是事件冒泡和捕获?

事件冒泡和捕获之间有什么区别?在这两个中,哪个是更快更好的模型?

javascript event-bubbling dom-events

982
推荐指数
7
解决办法
37万
查看次数

需要/首选事件捕获的现实世界示例?

addEventListenerDOM方法支持的第三可选,布尔参数(将useCapture),以指示该功能是否应使用事件冒泡或事件捕捉作为传播方法。在本文中,差异很好地展示了(单击示例并查看代码)。

从 SO 和博客文章的其他问题中,我得出结论,事件冒泡是首选,主要是因为 IE8- 不支持它。

假设我只需要支持 IE9+,在什么情况下事件捕获比事件冒泡更必要或更受欢迎?换句话说,在什么情况下让事件先在最外层元素上执行,然后在最内层元素上执行会更好?我正在寻找一个简单的、真实的例子来演示事件捕获的使用......

javascript requirements event-propagation dom-events event-capturing

11
推荐指数
1
解决办法
3377
查看次数

有谁可以解释这种停止传播是如何工作的?

我试图使用我在Stackoverflow上找到的一些代码设置"当你点击元素外部,关闭它"类型的东西:

$(document).click(function() {
 $('.list-to-hide').hide();
});

$('.show-list-button').click(function(event) {
 event.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

有人可以用stopPropagation解释后面的部分吗?我不明白为什么需要它.

谢谢!马特

javascript jquery stoppropagation

10
推荐指数
2
解决办法
6829
查看次数

孩子们如何倾听/捕捉父母的事件

如何激活自定义事件以通知其子/兄弟姐妹?例如:

<div id="div1">
   <div id="div2"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

div2有addEventListener('customEvent2',doSth),然后div1将触发一个自定义事件(customEvnet2).但这永远不会触发div2的"doSth"功能

示例代码:http: //jsfiddle.net/r4tcT/2/

"div 1触发器customEvent 2"按钮永远不会起作用

所以当父级触发自定义事件(dispatchEvent [IE9]/fireEvent [IE9 - ]/trigger [jQuery])时,子级无法捕获事件.

有没有解决方法?

javascript html5 dom javascript-events

9
推荐指数
1
解决办法
3868
查看次数

如何检查父元素中的单击,但不检查子元素中的单击?

码:

HTML

<!-- snip -->
<div class="parent" id="parent">
    <div class="child" id="child">
    </div>
</div>
<!-- snip -->
Run Code Online (Sandbox Code Playgroud)

使用Javascript

/* snip */
$(function () {
    $("#parent").click(function () {
        alert("This dialog should only show up if the parent is clicked.");
    });
});
/* snip */
Run Code Online (Sandbox Code Playgroud)

(这只是实际代码的基本结构......在实际代码中有些东西是不同的,例如.子是jQuery UI Draggable元素)

html javascript css jquery

4
推荐指数
1
解决办法
2132
查看次数