检测控件的“类”属性何时更改的任何事件

Posted

技术标签:

【中文标题】检测控件的“类”属性何时更改的任何事件【英文标题】:Any event to detect when the "Class" attribute is changed for a control 【发布时间】:2011-08-19 18:21:53 【问题描述】:

我有一个带有一些id="myDiv" class="myClass" var var1=10; 的“div”控件 在 javascript 中。根据用户操作,我会将此控件的类从“myClass”更改为“newClass”,因此当发生这种情况时,我想将 var1 的值更改为 20。

那么我如何识别班级的这种变化?

【问题讨论】:

为什么不能在更改类的同时更改值? 更改类是在 Jquery 插件中完成的,所以我不想在那里进行更改。 【参考方案1】:

您可以使用onpropertychange(IE) 和DOMAttrModified(其他)

【讨论】:

什么没有帮助?你会在help.dottoro.com/ljdchxcl.php 找到一个如何使用的示例,它可以工作。【参考方案2】:

你必须使用 3 个东西:

    onpropertychange 事件,适用于 IE DOMAttrModified,可在 IE9、Opera、Firefox 中运行,并且在所有 其他 中都适用,正如莫勒博士所建议的那样 其他一切 - 必须求助于 setInterval 循环,检查值是否改变,这包括 webkit 浏览器(chrome 和 safari),因为它们仍然没有 DOMAttrModified 支持,所以 - 你会必须对这些浏览器进行循环检查。

有实现这个的jQuery插件(页面上还有一个演示):

http://darcyclarke.me/dev/watch/

【讨论】:

以上是关于检测控件的“类”属性何时更改的任何事件的主要内容,如果未能解决你的问题,请参考以下文章

检测使用jQuery更改的禁用属性[重复]

检测 UIView/UILabel 何时重绘自身?

检测何时在 ListView 中滑动项目

如何知道 CDialog 派生类中的焦点何时更改

检测 UIPickerView 何时开始更改/移动

DataGridView如何通过按下escape来检测用户何时从编辑控件中出来?