zTree_v3
zTree_v3 copied to clipboard
点击+触发展开事件如何阻止事件冒泡
body中有一个点击事件, 当我点击ztree根节点前面的+的时候, 先触发body事件, 再点击一次才出发展开事件, 要怎么才能在展开事件中加阻止冒泡的呢? $("body").bind("mousedown", this.onBodyDown); onExpand: this.expandTree, expandTree(event, treeId, treeNode) { // event.stopPropagation(); return false; }, 代码中的两种阻止事件冒泡的方法都用过了, 阻止不了, 求解答 @zTree
-
可以肯定的是, 因为优化性能的原因,onExpand 回调是有可能进行异步调用的,这样会导致 你针对 event 的操作是无效的。
-
一般情况下,如果你针对 onExpand 进行处理,还需要针对 onCollapse 进行处理的(当然了,这个对于本 Issue 无效)
-
针对你这个问题的解决方案建议:给你的 onBodyDown 事件中针对 event.target 进行判断,如果是 zTree 内部的 元素(或者是部分指定的元素),就不进行处理。这样就可以很好的实现你的需求了
感谢作者的建议, 我之后尝试一下, 谢谢