相关疑难解决方法(0)

事件捕获与事件冒泡

我只是希望得到一个共识,即JS在冒泡和捕获之间更好的事件委派模式.

现在我明白,根据特定的用例,人们可能希望使用捕获阶段而不是冒泡,反之亦然,但我想了解哪种委派模式适用于大多数一般情况以及为什么(对我而言似乎冒泡模式).

换句话说,W3C addEventListener实现背后的原因是支持冒泡模式.[仅当您指定第3个参数及其true时才会启动捕获.但是,你可以忘记第三个参数和冒泡模式被踢了]

我抬头看了看JQuery的绑定功能得到一个回答我的问题,似乎它甚至不支持捕获阶段事件(在我看来,因为IE不支持拍摄模式).

所以看起来冒泡模式是默认选择,但为什么呢?

javascript javascript-events

19
推荐指数
2
解决办法
1万
查看次数

有没有办法在事件目标的子级上触发处理程序?

鉴于代码:

var event = new Event('build');

// Listen for the event.
elem.children[0].addEventListener('build', function (e) { ... }, false);

// Dispatch the event.
elem.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)

不调用子元素的处理程序。见https://jsfiddle.net/mvjh7700/

有没有办法调用处理程序而不直接在孩子(或其后代)上分派事件?在我的实际用例中,各种元素(即后代元素,而不是直接子元素)都会监听build事件,我不知道具体是哪个元素(并且不想用类标记它们)。

或者,对于我的用例,如果我可以找到所有在“build”上有处理程序的元素,然后我可以在每个元素上调用事件,那就可以了。但是,我仍然想知道原始问题的答案

javascript

5
推荐指数
1
解决办法
2742
查看次数

标签 统计

javascript ×2

javascript-events ×1