我在jquery的ready函數中附加了一個自定義的事件處理函數。之後,我立即成功觸發了該自定義事件。jquery - 觸發自定義事件
$(function(){
$("body").on("test", function(){
alert("test triggered");
}
$("body").trigger("test");
}
但是,當我在控制檯中觸發它時,什麼都不會發生。爲什麼?
我在jquery的ready函數中附加了一個自定義的事件處理函數。之後,我立即成功觸發了該自定義事件。jquery - 觸發自定義事件
$(function(){
$("body").on("test", function(){
alert("test triggered");
}
$("body").trigger("test");
}
但是,當我在控制檯中觸發它時,什麼都不會發生。爲什麼?
首先你有語法錯誤
$(function(){
$("body").on("test", function(){
alert("test triggered");
}); < ---- Missing this
$("body").trigger("test");
});
其次,你可以不觸發從控制檯的事件,作爲$(function() {});
形成一個閉合和你將無法訪問其中的任何方法
爲了讓它像您所期望的那樣工作,請在您的腳本文件中添加一個調試點,然後嘗試觸發事件。當事件在範圍內時,它現在起作用。
當然可以。在控制檯中執行'$(「body」)。trigger(「test」);''會工作。爲什麼它不工作? '$'是一個全局變量。 –
我對語法錯誤表示歉意。不知道一個事件監聽者不會聽到關閉之外發生的事件。謝謝! – JJK
它看起來像你的代碼格式不正確。檢查您的調試控制檯以確認。
你可以試試這個:
$(function(){
$("body").on("test", function(){
alert("test triggered");
});
$("body").trigger("test");
}
語法錯誤... – Musa
.on - 將一個或多個事件的事件處理函數附加到所選元素。這裏有什麼活動? – zod
@dementic請不要更改編輯 – Musa