我编写了JQuery,当它检测到具有特定CSS类的元素时,会向按钮添加一个CSS属性:(在这种情况下,当页面上显示验证div时)
<script>
$(document).bind('DOMSubtreeModified', function ()
{
if ($('.errors').length)
{
alert('test');
}
});
</script>
警报显示在每个浏览器(包括IE8和9)中,但不显示在IE7中 - 这是一个已知问题吗?有没有人知道可以使用的替代方案?
编辑:我发现IE7无法执行“DOMSubtreeModified
”。我可以看到有其他选择,但需要自动调用javascript并检测何时发生更改,而不是使用对函数的调用来执行它。有什么建议吗?
另一个编辑:由于它是一个.NET MVC网站,我看不到如何向验证绑定添加javascript调用。有没有办法让javascript检测整个页面的变化?即javascript代码可以与上面的代码一样吗?
答案 0 :(得分:1)
如果仅在验证错误时调用它,那么为什么要使用像DOMSubtreeModified这样的广泛事件?我会使用这样的自定义事件:
function validate() {
var error = false;
//....
//your validation code that finds an error
if(error) {
$(document).trigger('validationError');
}
//.....
}
$(document).on('validationError',function() {
//your code that does something when an error is found
});