我编写了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代码?

最佳答案

如果仅在发生验证错误时调用它,那么为什么要使用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
});

关于jquery - jQuery似乎仅在IE7中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12603744/

10-12 12:21
查看更多