簡體   English   中英

將參數傳遞給jQuery ready()的解決方法

[英]Workaround for passing parameter to jQuery ready()

我在jQuery document.ready()上調用了一些代碼,該代碼在多個HTML文件中使用。 現在的區別是,每個HTML都使用不同的div ID。 我知道一種選擇是只檢查$(document).ready()中的硬編碼div ID。 但是我想編寫一個通用代碼,該代碼將基於當前/調用HTML頁面獲取div ID?

那么有沒有辦法將參數傳遞給jQuery ready()?

$(document).ready()只需要一個函數作為參數,因此您可以編寫一個將ID作為參數並返回$(document).ready()函數的函數。 例如,代替此:

$(document).ready(function() {
    $('#some_id').click(/*...*/);
});

您可以這樣做:

function make_ready(id) {
    return function() {
        $('#' + id).click(/*...*/);
    };
}

$(document).ready(make_ready('some_id'));

然后,您可以將make_ready放在某個公共位置,並使用它來構建$(document).ready()調用的函數。

准備好文檔僅將處理程序函數作為參數。 通過存儲每個html的當前div ID,您仍然可以在文檔准備功能中定義通用代碼。

<input type="hidden" id="current_div" value="div1" />

$(document).ready(function() {  
    var div_id = $('#current_div').val();  
    // generic code  
});  

暫無
暫無

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

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