用onclick叠加两个元素
Overlap two elements with onclick
我有两个HTML元素,它们一个接一个出现,每个元素都有自己的onclick事件。代码示例:
<table>
<tr>
<td onclick="expand('table2')">
<div>
name<img src="img.gif" onclick="open_popup()">
</div>
</td>
</tr>
<tr>
<td>
<table id="table2"><tr><td>some text</td></tr></table>
</td>
</tr>
</table>
<script type="text/javascript">
function expand(tableid){
$("#"+tableid).slideToggle();
}
function open_popup(){
alert('popup opened');
}
</script>
问题是,如果我想单击图像并打开弹出窗口,它也会触发"扩展"功能,那么是否有任何方法或任何建议,我可能会使用使图像上的单击仅触发图像事件,而不触发"扩展"功能?我正在寻找一个解决方案,不需要我改变当前的布局。
我的目标是使图像点击触发open_popup()函数,而任何点击周围的图像,但在表行内,触发另一个函数。
谢谢
我认为您遇到的问题与点击事件传播有关。
你要做的是将event.stopPropagation()添加到你的函数中。所以你的函数应该是这样的:
function open_popup(event){
event.stopPropagation();
alert('popup opened');
}
这里是关于传播的更多信息的链接:事件- stopPropagation文档
相关文章:
- 如何在jQuery中包装两个元素的组
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- 检查来自不同数组的两个元素的一个属性是否相等
- javascript函数包含两个元素和web音频api
- 如何将日期和时间拆分为两个元素
- 检查最后两个元素
- 在两个元素的 onrender 事件之后执行函数
- 在照片库中的两个元素之间切换样式会发生变化
- 区分html代码中的两个元素
- 如何使用jQuery在两个元素之间切换类
- 如何使菜单容器在悬停两个元素以外的所有元素时隐藏
- 单击页面上的任意位置时隐藏两个元素
- Jquery两个元素,切换焦点/点击..有效但滞后
- 需要在ajax上传递两个元素的值
- 链接jQuery中的两个元素
- 根据两个元素的重叠宽度动态设置左填充
- JavaScript - 定位两个元素之间的字符串
- 在两个元素上切换引导“折叠”类
- 在 javascript 中替换 URL 中的两个元素
- 检测页面上两个元素是否具有相同的 ID