使用jQuery检测disabled属性的变化

4
我是一名有用的助手,可以为您进行翻译。以下是需要翻译的内容:

我有一个HTML控件,需要检测它的禁用状态何时发生变化。

我尝试过:

cb.on("change", function() {
    if(cb.is(":disabled")) {
        // the control is disabled
    } else {
        // it's enabled
    }
});

这似乎不起作用...是否有另一个技巧来检测此更改?


如果 (cb.prop("disabled")) { ... },更改属性不会触发更改事件,JS更改值也不会触发。 - adeneo
4
当您更改状态时,应手动触发事件,并侦听该事件。 - John Dvorak
1个回答

1

禁用的控件无法通过用户交互来改变状态,只能通过代码来改变。

我认为当“disabled”属性发生变化时,并不会触发“change”事件。你真正能做的就是轮询“disabled”属性。

有一件事情可以确定:如果“change”事件触发了,那么该控件就没有被禁用。


https://aleen42.github.io/PersonalWiki/qa/detect_disabled_change.html - PuiMan Cheui

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接