jQuery点击事件/事件冒泡问题,当尝试突出显示一个元素并同时选中一个复选框
jQuery click event / event bubbling issues when trying to highlight an element & check a checkbox at the same time
请看这个小提琴:http://jsfiddle.net/mrmartineau/53fkV/embedded/result/
预期的结果是,当单击.poll_option td
时,背景颜色变为粉红色并选中复选框。每个选项都有不同的错误,它们是:
选项 1:我遇到的问题是,在选项 1 上,当我单击复选框本身时,它不会检查,但其他一切正常。我的意思是,当我点击标签和<td>
时,结果是正确的。似乎事件没有正确冒泡。.
选项 2:对于这个,我尝试了另一种解决方案(删除了 .toggle() 方法)并试图找出实际单击的元素(console.log(e.target.nodeName);
),现在我可以单击复选框但不能单击标签,而是标签不会使事件工作。
你能不能看看我的代码,看看我哪里出了问题,因为我相信它不会这么难......
干杯
提出了更简单的解决方案:
$('.poll_option.one td').click(function (e) {
$(this).toggleClass('highlight');
$(this).find('input').prop("checked", $(this).hasClass("highlight"));
console.log(e.target.nodeName);
// weird that clicking the label does not naturally propagate
// the click event to the parent
}).find("label").click(function () {
$(this).closest("td").click();
});
演示。
相关文章:
- React应用程序:道具在下一个事件后更新
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 全局屏幕span onclick触发一个事件javascript
- 在一个“事件”之后触发一个事件;喜欢“;
- 在离子2中,有任何方法可以将涡旋动量作为一个事件来检测
- 完整日历在多个资源上添加一个事件
- TinyMCE 将另一个事件添加到粗体和斜体按钮
- jQuery触发另一个事件中的事件
- 试图使一个事件依赖于另一个事件,并使用jquery自定义事件传递数据
- 存储一个事件处理程序中的变量以供另一个事件处理器使用
- 当表单验证失败时,我将如何最好地处理下一个事件
- 正在创建一个事件以更改鼠标悬停时的图片
- 当一个单元格被编辑时,是否有一个事件触发,但值没有'不要改变
- JavaScript一次性在多个元素上注册一个事件类型
- 如何在点击时发生另一个事件后使用localscroll
- Vanilla Js:在一个事件中开始一段时间的循环,然后用第二个事件打破它?('mouseover'启
- 取消除最后一个事件之外的所有事件,
- 鼠标滚轮按压-描述了一个事件的名称,以及如何使用jQuery侦听它
- Javascript开始处理下一个事件,然后第一次完成
- 在Jquery中将标志从一个事件传递到另一个事件