jQuery.not()和可拖动ui存在问题

jQuery.not()和可拖动ui存在问题,jquery,jquery-ui,Jquery,Jquery Ui,好的,当某个东西是可拖动的时,它被赋予class.ui可拖动 当某个东西被禁止拖动时。ui可拖动被禁用 我只想选择可拖动的项目 我正在使用以下选择器,但它似乎不起作用。我禁用的可拖动项目仍在悬停状态下执行某些操作。你知道为什么吗 $('.ui-draggable').not('.ui-draggable-disabled').hover(function() { // rest of code 谢谢试试: // selector means "doesn't have", ':not(:has

好的,当某个东西是可拖动的时,它被赋予class.ui可拖动 当某个东西被禁止拖动时。ui可拖动被禁用

我只想选择可拖动的项目

我正在使用以下选择器,但它似乎不起作用。我禁用的可拖动项目仍在悬停状态下执行某些操作。你知道为什么吗

$('.ui-draggable').not('.ui-draggable-disabled').hover(function() {
// rest of code
谢谢

试试:

// selector means "doesn't have", ':not(:has(selector))'
$(".ui-draggable:not(:has(.ui-draggable-disabled))").hover(function() { ...
或:

或测试
悬停
鼠标悬停/mouseover功能中是否存在禁用类:

$(".ui-draggable").hover(function() {
    if(!$(this).hasClass("ui-draggable-disabled")) {
        // do stuff
    }
}, function() {
    if(!$(this).hasClass("ui-draggable-disabled")) {
        // do stuff
    }   
});

谢谢我以为这样就行了。唉,事实并非如此。奇怪,不。这有点奇怪。我也尝试过删除这个类(在禁用draggable函数的同一个函数中),但是jQuery似乎仍然认为这个类仍然存在,并因此执行悬停操作。我撒谎了。if语句有效。不过,代码中有一个错误的句点。谢谢你的帮助。非常感谢。
$(".ui-draggable").hover(function() {
    if(!$(this).hasClass("ui-draggable-disabled")) {
        // do stuff
    }
}, function() {
    if(!$(this).hasClass("ui-draggable-disabled")) {
        // do stuff
    }   
});