【发布时间】:2018-07-29 20:42:16
【问题描述】:
为了看看事件冒泡是如何工作的,我创建了许多 div 控件,一个一个到另一个等等,最后将点击事件附加到所有 div 上,这使得 div 在被点击时闪烁。我希望一个 div 会闪烁然后另一个,这样它会冒泡到父级,但所有 div 都在同时闪烁。
为什么一个事件处理程序在调用另一个事件处理程序之前没有完成?动画功能是否正在做某事?因为它不会正常发生,所以我一直注意到只有在完成一个事件处理程序之后才会调用另一个事件处理程序。
这是我的js:
$("div").on("click", function (e) {
$(this).animate({ backgroundColor: "red" }, 400, "swing", function () {
$(this).animate({ backgroundColor: "white" }, 400, "swing")
})
})
这里是Html:
<div><div><div><div><div><div><div>
</div></div></div></div></div></div></div>
【问题讨论】:
-
看看下面的例子,我刚刚编辑添加了你想要的功能。您将停止 div 上的传播,然后制作动画,在最终动画回调结束时,您将通过触发父元素上的事件来重新开始传播。如果这对你有用,请投票。
标签: javascript jquery html css jquery-ui