簡體   English   中英

jQuery和document.ready()觸發兩次

[英]jQuery and document.ready() firing twice

我知道這是一個很普遍的問題,但是即使進行研究,我也無法理解調用document.ready()Javascript函數時出了什么問題。

由於某種原因,即使我沒有執行警報以外,它也被調用兩次。

就像我在標題中說的那樣,我使用的是jQuery,並認為$(function(){})可能會帶來一些問題,因此我也刪除了其中的所有執行。 不變,document.ready()仍被調用兩次。

這個問題的根源是什么? 如何解決/解決它?

提前致謝!

這是我嘗試過的代碼:

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

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

編輯:我知道我兩次使用相同的功能。 將所有內容放在一個函數中並不能解決問題。

您是否使用諸如smarty或.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>

console.log(2)將觸發兩次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM