写一个函数onchange of some attribute

时间:2010-07-21 15:22:05

标签: jquery

我需要在某些属性的更改上编写函数,但是当我编写以下内容时

$("#handle_valueAA").attr("aria-valuenow").change(function(u)
{
...
})

它不起作用。 是什么原因?

由于

3 个答案:

答案 0 :(得分:3)

原因很简单。仅对表单元素支持change事件 - 它不适用于属性。如果要捕获属性修改,则需要查看DOM突变事件DOMAttrModified和IE专有事件onpropertychange

答案 1 :(得分:1)

当用户更改表单控件的值时,将触发change事件。

它不是可以与属性关联的通用事件,因此当JS更改该属性时它将触发。没有任何东西(至少没有看到广泛的支持)可以做到这一点。

您需要修改任何更改属性的函数,或使用setInterval轮询查找更改的属性。

答案 2 :(得分:1)

(通过其他Javascript代码,可能)对属性值的更改不会触发“更改”事件。

如果您可以控制更改该属性的代码,那么您可以让它触发自定义事件(“aria-changed”或其他),然后绑定处理程序:

$('handle_valueAA').bind('aria-changed', function() { ... });

编辑 - 或查看Andy E的回答