jquery $(window).on('load", function() 未按预期工作。解释?



我一直在尝试用.on事件处理程序来代替.live和.bind处理程序,尽管我在某些情况下有效地使用了.on,但它似乎没有按预期工作,尤其是当它绑定到从动态源"加载"时,这意味着如果我试图从一个html文件中运行下面的代码片段,而该文件本身是通过AJAX动态加载的,它会自动失败。

例如,我通过ajax将test.html加载到div中,test.html具有:

<script>
        $(window).on('load', 'body', function(){
            alert('test');
        });
</script>

理论上,当页面上的所有元素都已加载时,这应该会发出警报框,对吗?在实践中,它没有任何作用。警报从不启动。与此相同:

<script>
            $(document).on('load', 'body', function(){
                alert('test');
            });
</script>

理论上,当dom满载时应该开火,但实际上它根本不开火。

只有当这些事件本身是从动态位置调用时才会发生这种情况,但我想这种情况经常发生,所以有没有办法让这些事件在动态加载时仍然激发,或者我做错了什么。我已经遇到过很多次这个问题,这显然是加载事件的问题,就好像我要将两个事件中的任何一个更改为"点击"而不是加载,然后点击身体上的任何地方,警报就会像预期的那样触发。所以我的主要问题是负载事件是怎么回事。

你忘了.ready(),它非常有用(不要撒谎,我脑子里有个屁,也忘了)

<script>
  $(document).ready(function() {
    alert('test');
  });
</script>

希望能有所帮助:)

相关内容

  • 没有找到相关文章

最新更新