正确的方法来禁用jQuery UI拖动类的某些成员

时间:2014-05-02 20:38:01

标签: javascript html css jquery-ui

所以我有一个可以应用jQuery UI draggable的类。 我希望有些类也是那个父类的成员,不能拖动。

我试过了:

$('.class:not(.class1, .class2, .class3').draggable({
    //
});

这是一个JS小提琴:http://jsfiddle.net/kLpJ8/2/

$('.class').not('.class1, .class2, .class3').draggable({
    //
});

这是一个JS小提琴:http://jsfiddle.net/kLpJ8/3/

$('.class').not('.class1').not('.class2').not('.class3').draggable({
    //
});

与上面相同的JS小提琴 和

$('.class').draggable({
    start: function(){
        if($(this).is('.class1')) return false;
        if($(this).is('.class2')) return false;
        if($(this).is('.class3')) return false;
    }
});

这阻止了所有事情:http://jsfiddle.net/kLpJ8/4/

这些似乎都不起作用。

在CSS或JS / jQuery中是否有办法可以正确禁用可拖动?为什么我想这样的是这些小班的元素'文本可以突出显示和选择,以便可以触发上下文右菜单,用户可以复制菜单中的任何内容。

1 个答案:

答案 0 :(得分:1)

您需要将"destroy"作为draggable的参数传递,因此您的代码将如下所示

$('.class').draggable();
$('.class1, .class2, .class3').draggable("destroy");