阻止Bootstrap删除按钮点击传播
Preventing Bootstrap delete button click from propagating
如何防止点击从删除按钮传播?我使用Twitter Bootstrap 3来显示图像旋转木马,可以选择单击并在模式对话框中显示全尺寸图像,该对话框由幻灯片分区上的onclick
触发。
问题是,我还试图在幻灯片div中包含一个删除按钮,点击从删除按钮传播到包含的div,这意味着当你试图删除时,它会弹出CakePHP"你确定吗?"消息,如果你说不,模态会打开。
为什么stopPropagation()
不在这里工作?
<div class="item" onclick="$('show-image').modal('show');" style="background-image:url(blablabla);">
<div class="carousel-caption" onclick="function handler(event) {event.stopPropagation();}">
Image caption goes here
CakePHP framework Javascript delete button goes here (generated in PHP)
</div>
</div>
您的onclick
实际上并没有使用您在其中定义的函数。您可以让它像这样工作(在IE9+和其他现代浏览器上):
onclick="event.stopPropagation();"
请注意,这不是函数,而是函数的内容。
DOM0 onXyz
处理程序本质上可以归结为:
theElement.onclick = function(event) {
// ...your onclick content here
};
所以你可以看到为什么你的代码不起作用:
theElement.onclick = function(event) {
function handler(event) {event.stopPropagation();}
};
但是,当您使用jQuery时,最好不要使用onXyz
属性,而是以现代方式连接处理程序:
$(".carousel-caption").on("click", function(e) {
e.stopPropagation();
// do your thing here
});
stopPropagation
在代码中不起作用的原因是onclick="function(e){}"
什么都不做,它只是声明了一个函数并将其丢弃。
以下是您想要的通用解决方案:
<div class="parent" onclick="parentClicked();">
<div class="child" onclick="event.stopPropagation();childClicked();">
</div>
</div>
window.event
被设置为正在激发的当前事件,在本例中为MouseEvent
对象。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 多个单选按钮组相互干扰
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Javascript按钮下拉列表
- jquery试图按名称获取按钮位置
- 漂亮照片图片库中的Facebook赞按钮
- 扩展移相器按钮类不工作
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 单击按钮以等待单击按钮
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何从querySelectorAll中获取按钮类型
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 按下按钮时保存cookie
- 是否可以禁用jquery中的单个单选按钮
- 为什么我的按钮正在将事件传播到其父项
- 阻止Bootstrap删除按钮点击传播
- jQuery/JS点击按钮后停止传播
- 如何在剑道ui网格标题中单击自定义按钮时停止传播