我想弄清楚如何將變量傳遞給jQuery函數,但我不知道爲什麼這個(大大簡化的)示例不能按預期工作。這個想法是,點擊複選框時會顯示一條警報。通過變量傳遞負載時執行jQuery函數
沒有問題就在這裏:
<input type="checkbox" class="check"/>
<script>
do_alert = function() {
alert("Welcome");
}
$('.check').change(do_alert);
</script>
然而,通過警報文本的功能時,則只要加載頁面顯示的警報,用正確的消息文本:
<input type="checkbox" class="check"/>
<script>
do_alert = function(message) {
alert(message);
}
$('.check').change(do_alert("Welcome"));
</script>
如下所示:
<input type="checkbox" class="check"/>
<script>
function do_alert(message) {
alert(message);
}
$('.check').change(do_alert("Welcome"));
</script>
在這兩種情況下,在檢查框時都不執行該功能,但它已打開加載頁面。我在這裏錯過了什麼?
'change'需要一個函數作爲參數,但是通過使用'do_alert(「Welcome」)''你正在調用該函數並且只傳遞其未定義的結果 – haim770