如何防止jquery(或jquery ui)在div上设置ui-state-disabled?

Fed*_*ico 6 jquery jquery-ui

我正在使用JQuery draggable,当我这样做时

$(".a-div").draggable({disabled:true})

jquery正在设置一个ui-state-disableddiv.ui-state-disabled在jquery ui css中"实现".

我仍然想要jquery ui css.我宁愿不改变ui-state-disabled,所以我可以在其他地方使用它.

是否可以防止jquery设置ui-state-disabled?

既然disabled:true似乎设置了css类,是否有另一种方法可以禁用可拖动的objet?

mis*_*nky 6

您也可以简单地覆盖您自己的本地CSS中的CSS.也就是说,无论是内联还是导入页面的文件,都要添加css规则:

.ui-state-disabled {
    background-image: none;
    opacity: 1;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我已经覆盖了不透明度值.

如果您真的想在其他地方使用此类,这可能会让您遇到麻烦,在这种情况下,以编程方式向/从选定元素添加/删除类(如Alphonso所建议的)可能是您最好的选择.


Alf*_*nso 4

这些类是在 jQueryUI 核心中定义的,如果你真的想将其更改为其他内容,你可以修改代码(不建议出于可维护性和功能目的)或做一些丑陋的事情,如下所示:

$('.ui-state-disabled').removeClass('ui-state-disabled').addClass('yourPreferredClassName');
Run Code Online (Sandbox Code Playgroud)