javascript - 输入被禁用时是否有事件?

标签 javascript jquery html events input

对于我正在制作的输入扩展脚本,我需要一个输入来告诉我它何时/是否被禁用。也就是说,当设置了 disabled 参数时。

有这方面的事件吗?

如果没有,我将如何模仿这种行为?

我也在使用 jQuery

最佳答案

理想情况下,您需要锁定的任何事件(而不是用户事件 - 点击鼠标悬停等)都应该在代码中以编程方式触发,与轮询实际 DOM 不同,实际 DOM 是代码生成的最终表示。

DOM 突变事件没有得到很好的支持,据我所知 are being deprecated .

从你所说的听起来,最好的办法似乎是检查 <input> 是否在启动您的扩展/插件时被禁用,然后使插件/扩展用户可以通过您自己的 API 禁用输入,这意味着您可以知道它何时发生。

一个非常原始的例子是创建您自己的 disable jQuery 方法:

jQuery.fn.disable = function() {
    return this.each(function(){
        $(this).attr('disabled', true).triggerHandler('disable');
    });
};

// E.g.
var input = jQuery('input#foo');
input.bind('disable', function(){ alert('Foo Disabled!'); });
input.disable();

您可以看到我们为 disable 中的每个元素触发了自己的事件。方法。但这只是一个例子;我真的不建议这样做——尝试将所有内容都保留在您自己的插件/扩展的命名空间下。

关于javascript - 输入被禁用时是否有事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7095865/

相关文章:

php - 在 jQuery 中调用 ajax 时如何访问 PHP 变量?

javascript - Leafletjs 弹出层在页面加载时的位置不正确

javascript - 主干模型对象....它们存储在哪里以便 DOM 可以与它​​们交互?

php - JSON 数据未在 POST 中发送?

html - 纯CSS绘制圆形动画

javascript - 防止函数在外部作用域中查找变量

javascript - Angular 疯狂 bool 派对

jquery slider 替代?

html - 有没有办法指定第一个元素*类型*?

html - 将鼠标悬停在图像上时切换颜色