其小本
其小本
  • 发布:2015-10-22 13:59
  • 更新:2015-10-22 16:06
  • 阅读:2168

二级列表里边加一个button按钮,结果button的tap事件和列表伸缩事件冲突,怎么解决?

分类:MUI

如图:
在一个二级列表中,添加了对每一项的操作按钮。
结果点击这个按钮的时候,触发了tap事件之后,列表的伸缩事件也触发了。(button在a标签里边)

要实现的效果是:点击按钮只触发按钮tap事件,列表的伸缩状态不变。
怎么解决?

--
<a>
<button></button>
</a>
像这样的html结构,如果a也绑定了tap,button也绑定了tap。那点button的时候会连带着a的tap事件一起触发!!!

我尝试过把按钮放在列表的<a>标签外边,但是样式就不对了(附件2)。

2015-10-22 13:59 负责人:无 分享
已邀请:
其小本

其小本 (作者)

哎,自己水平不到家吖。
已解决。给碰到同样问题的伙伴解决方法。
在button的tap事件中,添加一段组织冒泡的代码。
var e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();

解决问题方向是了解javascript的冒泡和捕获。
参考:http://www.cnblogs.com/hh54188/archive/2012/02/08/2343357.html
讲的很详细。

泡泡茶壶

泡泡茶壶

楼主你好,我恰好碰到一个类似的问题,我二级列表下含有按钮(类似你给的图2),然后点击列表,就是伸缩后,那个点击的位置下面恰好是button的位置,那么会连带button一起给点击了。

该问题目前已经被锁定, 无法添加新回复