Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 特殊情况下的选择器_Jquery - Fatal编程技术网

Jquery 特殊情况下的选择器

Jquery 特殊情况下的选择器,jquery,Jquery,我正在使用: $(".header.nav.nav-user").click(function(){}); 但是,当我将css更改为“.header.nav.disable.nav user”时,我不想触发单击事件 但是在这种情况下,$(“.header.nav.nav user”)也会在css更改为”.header.nav.disable.nav user“时触发 我怎样才能排除这种情况 我试过像: $(".header.nav.nav-user :not(.disable)") 及 但两

我正在使用:

$(".header.nav.nav-user").click(function(){});
但是,当我将css更改为“
.header.nav.disable.nav user
”时,我不想触发单击事件

但是在这种情况下,
$(“.header.nav.nav user”)
也会在css更改为
”.header.nav.disable.nav user“
时触发

我怎样才能排除这种情况

我试过像:

$(".header.nav.nav-user :not(.disable)")

但两次都没有达到预期的效果

请告诉我怎么做

谢谢你的帮助!谢谢

更新:情况是 有时是:(我想触发点击事件)


有时是:(我不想触发点击事件)


更改是使用其他javascript,而不是更改代码。

试试这个

$(".header.nav.nav-user").not(":disable")

添加一个disable类时,需要添加disabled属性

例如:

$('.btn').click(function () {
    alert('clicked');
    $('.btn').addClass('disable');
    $('.disable').attr('disabled', 'disabled');
});

这将禁用与“disable”类的链接,您的正确位置如下:

$(".header.nav.nav-user :not(.disable)")
除了导航用户和:not之间不应有任何空间

$(".header.nav.nav-user:not(.disable)")

$('.disable')。在(“单击”,函数(){return false})上;应该这样做。在这里工作很好:,可能是传播问题吗?是div的元素后代,单击事件将冒泡?这可能是因为您可能正在应用。请禁用类而不是禁用,否则,如果检查无误,请禁用代码。您的类但是在上面的JSFIDLE中,如果我删除
.not('.disable')
,那么click事件也不起作用,而它应该起作用。因此,您可以每次传递标志变量来检查选择器是否更改它而不触发。触发部分在if条件下使用,当flag true函数触发,否则no@SAM奥巴马的解决方案是正确的。移除空间,它应该可以正常工作。:)虽然我不认为它会工作,如果禁用类它添加动态。谢谢,但也许我描述没有真正清楚,我会更新我的问题
$('.btn').click(function () {
    alert('clicked');
    $('.btn').addClass('disable');
    $('.disable').attr('disabled', 'disabled');
});
$(".header.nav.nav-user :not(.disable)")
$(".header.nav.nav-user:not(.disable)")