点击更改Div类需要多次点击才能工作
Change Div Class on click takes multiple clicks before it works
我使用了这个问题中的方法:更改div类onclick到另一个div,并更改回body单击
下面是我的jQuery函数:
jQuery('.checkbox_wrapper').on('click', function(e){
jQuery(this).parent()
.toggleClass('not_selected')
.toggleClass('selected');
});
然而,它似乎没有正常工作。在类更改之前需要多次单击。
查看我的jsfiddle:http://jsfiddle.net/7A3vw/
我认为这可能是一个冲突的javascript,所以我将其简化为最基本的内容,但即使使用单个函数,也需要多次单击才能真正更改类。因为生产环境中有一个隐藏的复选框,所以多次单击是不合理的。
有人能帮我找出这个问题的原因吗?
点击函数会触发两次,一次用于图像,一次为输入,因为两者都会冒泡到父元素,而触发两次会再次还原类(proof)。
只需以图像为目标,因为这是你真正想要点击的,而不是父图像:
jQuery('.deck_card img').on('click', function (e) {
jQuery(this).closest('div').parent().toggleClass('not_selected selected')
});
FIDDLE
i guest您需要将复选框与div的切换一起选中。
$(document).ready(function(e) {
$('.checkbox_wrapper').on('click', function(e){
var checked = $(this).find('input[type="checkbox"]').is(":checked");
if(checked){
jQuery(this).parent().addClass('selected').removeClass('not_selected');
}else{
jQuery(this).parent().addClass('not_selected').removeClass('selected');
}
});
});
您的代码触发了两次点击事件。因此使用.preventDefault()
这使得事件的默认操作不会被触发。
$('.checkbox_wrapper').on('click', function(e){
$(this).parent()
.toggleClass('not_selected')
.toggleClass('selected');
e.preventDefault(); // prevent the default action to be
}); // triggered for next time
检查此JSFiddle
尝试这个
jQuery(document).on("click",'.checkbox_wrapper', function(e){
jQuery(this).parent()
.toggleClass('not_selected')
.toggleClass('selected');
});
因为使用了类选择器,所以会触发多次单击。您需要使用not
来排除额外的元素:
jQuery("div.checkbox_wrapper :not('div.checkboxdiv')").on('click', function(e){
jQuery(this).parent()
.toggleClass('not_selected selected')
});
这是一个FIDDLE。
相关文章:
- 点击选择Div不在IE上工作
- DIV怎么能像Javascript中的另一个元素一样工作呢
- Jquery Div 幻灯片从右到左切换无法正常工作
- 将DIV导出为PDF don'无法在Internet Explorer中工作
- 使用 JQUERY-Not 工作添加 Div
- 如何使 Dreamweaver AP Div 显示/隐藏功能在 IE9 中工作
- JavaScript 在 DIV 的加载内容中不能很好地工作
- 如何让这个可折叠的 DIV 工作
- javaScript onClick没有'当从另一个页面上的DIV内部加载的页面执行时,无法工作
- 链接无法在Ipad上的Div上工作-任何其他设备/浏览器都可以100%工作
- 每5秒自动刷新一个DIV代码不工作
- 点击更改Div类需要多次点击才能工作
- 在Div中更改innerHtml时,ScrollTop和ScrollTo不工作
- jQuery函数并没有按我的计划工作,DIV只是在点击时消失
- 在gridview事件处理程序中切换DIV可见性的代码不工作
- 渐明,淡出DIV上循环工作良好-但不显示第一个DIV
- 显示/隐藏内容在IE10及以下版本无法工作.Div不可点击
- 在Div内滚动不工作
- 一个简单的jQuery幻灯片显示工作的DIV
- 页眉内的Div /靠近页面顶部/在2次点击事件后不显示,而它的's页脚双胞胎工作- jquery