函数在单击表行时被激发,需要停止复选框才能启动函数
Function fired onclick table row, need stop checkboxes from initiating functions
我设置了一个函数,用于在单击某些表行时激发,但这里有一个大致的想法:
<p onclick="alert('Hello World!');">xxxxxxxxx<input type="checkbox"></p>
如何使其在单击复选框时不会激发函数?
<p onclick="var c = event.srcElement ? event.srcElement : event.target; if(c.tagName === 'P')alert('Hello World!');">Whats up<input onClick="" type="checkbox"></p>
使用event.srcElement,您可以访问实际触发事件的元素
编辑:Firefox没有属性srcElement,因此需要使用目标属性
在任何情况下,都必须为复选框创建一个单击处理程序。
如果你使用的是jQuery,你只需要调用其中的event.stopPropagation()
否则,请查看此帖子http://www.quirksmode.org/js/events_order.html#link9以获取代码示例(以及关于冒泡/捕获工作原理的完整解释)。
更简单的方法是为复选框设置.click
事件处理程序并执行事件。stopImmediatePropagation()
$(":checkbox").click(函数(事件){event.stopImmediatePropagation();};
Ivan的答案(+1)在我的测试中有效,但如果您的用例更复杂(即单击p中的子节点),它可能会失败。另一种选择是:
<p onclick="alert('Hello World!');">xxxxxxxxx<input type="checkbox" onclick="event.stopPropagation()"></p>
它至少在我的测试(Chrome)中有效
相关文章:
- Javascript复选框函数:;缺少:在属性id之后"
- 如何使用javascript函数在gridview中按行启用/禁用复选框
- 如何创建php函数或任何脚本/jquery Javascript,使我能够获取与复选框关联的值并添加它们
- 根据条件将函数放入数组中(如果选中复选框)
- Javascript:函数bind.click&对于每个复选框
- 通过原型/构造函数从复选框输出值
- Jquery移动转换复选框在Jquery onclick函数()中第二次选中不起作用
- 函数更改不适用于动态创建的表的复选框
- Javascript函数禁用复选框
- 在服务器上创建一个复选框,使用 javascript 处理函数
- 将函数事件绑定到更改函数的复选框/标签
- 无论首先单击哪个复选框,都需要调用函数1次-.one()的一些变体
- 我可以使用一个函数让所有复选框都被选中或取消选中吗(不使用点击触发器)
- 嗨,我正试图将我的movieprice数组从复选框值传递给另一个计算选择总数的函数,但我的代码没有;t运行
- 为预先选中的复选框在加载时运行ng更改函数
- 如何在使用onclick函数选中复选框时添加或减去值
- 当选中多个复选框中的一个时执行函数
- 我需要在函数中编写addEventListener代码,每次选中复选框时都会执行该函数
- Javascript函数用于选择/取消选中radgrid标头模板中的所有复选框
- 复选框禁用/启用使用 JavaScript 函数的查询