对于输入扩展脚本我正在制作我需要一个输入来告诉我何时/是否被禁用。也就是说,当设置disabled
参数时。
是否有此事件?
如果没有,我将如何模仿这种行为?
我也在使用jQuery
答案 0 :(得分:3)
理想情况下,您需要锁定的任何事件(并且不是用户事件 - 单击,鼠标悬停等)应该在代码中以编程方式触发,而不是轮询实际的DOM,这是代码产生的最终表示。
DOM变异事件得不到很好的支持和AFAIK are being deprecated。
从您所说的内容来看,最好的办法是检查<input>
是否在启动扩展程序/插件时被禁用,然后启用插件/扩展程序用户通过您自己的API禁用输入,这意味着您可以知道它何时发生。
一个非常原始的例子是为jQuery创建自己的disable
方法:
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
方法中的每个元素触发了我们自己的事件。这只是一个例子;我并不是真的建议这样做 - 尝试将所有内容保存在您自己的插件/扩展名的命名空间下。
答案 1 :(得分:0)
恐怕没有像这样的内置事件。但是,使用触发器和绑定,您可以创建自己的事件。 Custom events in jQuery?
答案 2 :(得分:0)
我希望使用.attr()
你可以找到它的禁用