怎样在点击大div的时候不去触发小div的点击事件?

吃瓜日常 2019-05-21 02:43:26
现在工作中碰到一个问题,是要在点击不同的div时触发不同的点击事件,但是有的div是在较大的div里包裹的,而这样的话点击大的div,小div的点击事件也会触发,怎样能让点击小div的时候才触发的点击事件,代码如下,是一个用easyui,tab控件写的


<div style="border: thin solid #808080; height: 650px; width: 100%; padding: 20px 20px 20px 20px;
background-color: #CEE8FF; text-align: center; border-radius: 8px;">
<h2>
SmartQuery</h2>
<div runat="server" class="easyui-tabs" data-options="tools:'#tab-tools'" style="width: 100%;
height: 500px">
<div id="div1" title="PanelID" style="padding: 10px;" class="bg-success">
<table id="dg" class="easyui-datagrid" title="PaneID" data-options="singleSelect:true,collapsible:true">
<thead>
<tr>
<th data-options="field:'itemid',width:80">
Item ID
</th>
<th data-options="field:'productid',width:100">
Product
</th>
<th data-options="field:'listprice',width:80,align:'right'">
List Price
</th>
<th data-options="field:'unitcost',width:80,align:'right'">
Unit Cost
</th>
<th data-options="field:'attr1',width:250">
Attribute
</th>
<th data-options="field:'status',width:60,align:'center'">
Status
</th>
</tr>
</thead>
</table>
<div id="div2" class="easyui-tabs" data-options="fit:true,plain:true">
<div title="ProdID" style="padding: 10px;" class="easyui-tabs" data-options="tools:'#tab-tools'">
<div title="BOM" style="padding: 10px;">
Content 1</div>
</div>
<div title="工單" style="padding: 10px;" class="easyui-tabs" data-options="tools:'#tab-tools'">
<div title="工單BOM" style="padding: 10px;">
Content 1</div>
</div>
<div title="生產" style="padding: 10px;">
Content 3</div>
<div title="物料" style="padding: 10px;">
Content 3</div>
<div title="機台" style="padding: 10px;">
Content 3</div>
</div>
</div>
<div title="SN" style="padding: 10px" class="alert-success">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
<div title="箱號" style="padding: 10px;" class="alert-success">
<div class="easyui-tabs" data-options="tools:'#tab-tools'">
<div title="Title1" style="padding: 10px;">
入庫倉別</div>
<div title="Title2" style="padding: 10px;">
Content 2</div>
</div>
</div>
</div>
</div>
...全文
500 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42966289 2019-05-22
  • 打赏
  • 举报
回复
阻止冒泡就行了
麦草CMS 2019-05-22
  • 打赏
  • 举报
回复
引用 5 楼 麦草CMS 的回复:
你首先确定好了你的事件是要冒泡还是捕获,你描述的是捕获,但事件默认是冒泡的。不过,无论如何,你只要用preventDefault就行了

呃,不是preventdefault,是stopPropagation或cancelBubble
麦草CMS 2019-05-22
  • 打赏
  • 举报
回复
你首先确定好了你的事件是要冒泡还是捕获,你描述的是捕获,但事件默认是冒泡的。不过,无论如何,你只要用preventDefault就行了
如果有了可惜 2019-05-22
  • 打赏
  • 举报
回复
在事件处理函数最地下添加return false试试

吃瓜日常 2019-05-22
  • 打赏
  • 举报
回复
我之前也有按照网上搜到的去尝试,但是都出不来效果,谁有具体的代码的话可以贴出来,我多尝试一下
吃瓜日常 2019-05-22
  • 打赏
  • 举报
回复
引用 1 楼 如果有了可惜 的回复:
人一般都是点小的 div,冒泡到大盒子的点击事件上,你怎么反过来了。
可以通过对事件对象 event 判断
额,是我描述的有问题,不好意思哈
吃瓜日常 2019-05-22
  • 打赏
  • 举报
回复
OK。谢谢大家,问题已经解决了,结贴了
如果有了可惜 2019-05-21
  • 打赏
  • 举报
回复
人一般都是点小的 div,冒泡到大盒子的点击事件上,你怎么反过来了。
可以通过对事件对象 event 判断

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧