我有一个页面,它曾经使用一个类来禁用触发器,直到页面被大量加载。示例剪辑:
$('body').addClass('disable');
// mark unsaved changes
$('body:not(.disable)').on('change', '.CE', function(ev) {
// mark_if_changed() is at the bottom of this file
mark_if_changed($(this));
});
[...在不触发触发器的情况下加载大部分动态内容...]
$('body').removeClass('disable');
触发器的目的是在修改具有 CE 类的字段时更新数据库。使用上述方法,它不起作用。
如果我删除“:not(.disable)”,更改会更新——但在初始页面加载期间会调用很多不必要的回调。
使用 jQuery 1.7,它使用 .live() 工作。对于 1.9,它不工作,使用 .on()。我可以删除 :not() 并测试以查看“禁用”是否是类属性的成员,但这感觉就像是用胶带粘住问题而不是修复它。
https://dragonstone-mill.com/tabbed.html是我使用它的页面。
在 $(document).ready() 之后以有序的方式调用上述所有内容,请参阅 tabbed.html 中的 ~ln:103,它加载了函数和绑定。
有更好/更正确的方法吗?