jQuery 和 document.ready() 触发两次

jQuery and document.ready() firing twice

本文关键字:两次 ready jQuery document      更新时间:2023-09-26

我知道这是一个很常见的问题,但即使进行了研究,我也无法理解我在调用document.ready()Javascript函数时出了什么问题。

出于某种原因,它被调用了两次,即使我除了警报之外不执行任何其他操作。

正如我在标题中所说,我正在使用jQuery,并且认为某些东西可能来自$(function(){}),所以我也删除了其中的任何执行。没有任何变化,document.ready() 仍然被调用两次。

这个问题的起源可能是什么?如何排除/解决?

提前感谢!

这是我尝试过的代码:

$(function(){
    //$( "#tabs" ).tabs();
});
$(document).ready(function() {
    //getTableEntity("organisation", "getentitytable", "#testtable");
    //standardDataTable('#tableOrga');
    alert("document.ready");
});

编辑:我知道我两次使用相同的功能。将所有内容放在一个函数中并不能解决问题。

您是否使用如此智能的模板引擎或.net或其他东西?可能是jquery有一个双脚本源。然后是副作用。

你可以用这段代码检查 dom 是否准备好了。将代码放在 JavaScript 源文件中。

// If the DOM is already ready
if ( jQuery.isReady ) {
// Execute the function immediately
fn.call( document, jQuery );
} // ...

应该使用其中之一...并将您的代码放在以下jQuery函数之一上

$(function(){
    //$( "#tabs" ).tabs();
});

$(document).ready(function() {
    //getTableEntity("organisation", "getentitytable", "#testtable");
    //standardDataTable('#tableOrga');
    alert("document.ready");
});

$(function(){等于$(document.ready)

在jquery上阅读这里

我认为这个演示会对你有所帮助

<script>
    $(function(){
        $('#test1').appendTo('#test2');
        console.log(1);
    })
</script>
<div id="test1">
<script>
    $(function(){
        console.log(2);     
    });
</script>
</div>
<div id="test2"></div>

控制台.log(2) 将触发两次。