我需要在按钮上添加特定类时触发事件,但我不知道如何让它听取类添加事件。
我有这样的事情:
<script type="text/javascript">
$(document).ready(function() {
$(id_element).addClass("active");
//this function will fire on add "active" class to "id_button" element
function fireOnActiveClass() {
//do something
}
}
</script>
我无法触及代码$(id_element).addClass("active");
,原因更多。
目前我使用的是jQuery 1.7.2
您能告诉我我需要知道的方式或内容吗?
答案 0 :(得分:1)
您正在修改代码中的控件类。那么为什么不在改变课程时简单地点击按钮?
$(id_element).addClass("active");
$(id_button).click();
$(id_button).click(function () {
if ($(this).hasClass) {
//do something
}
});
答案 1 :(得分:1)
课程更改时不会引发任何事件。另一种方法是在以编程方式更改类时手动引发事件:
$(document).ready(function() {
$(id_element).addClass("active").trigger('classChange');
$(id_element).on('classChange', function() {
// do stuff
});
});
答案 2 :(得分:0)
另一种方法是在添加类之后立即调用函数:
$.fn.classAdded = function() {
var $button = $(this);
if($button.hasClass('id_button')) {
// ...
}
return $button;
}
$(id_element).addClass("active").classAdded();
答案 3 :(得分:0)
我找到了使用这个jQuery插件的解决方案:http://meetselva.github.io/attrchange/
答案 4 :(得分:0)
这个jQuery插件可以提供任何帮助吗?
https://github.com/tormjens/jquery-dom-router
您可以使用更改默认元素
$.DOMRouter.defaults.element = '#element';
在插入初始化之前。