外事件我有我的ASPX頁面下面的按鈕 -附加到點擊
$('#btnHello').click(function() {
alert('Hi there');
});
但是我想這個事件進入我的global.js文件,按預期工作,並提出了警告,具有完全相同的邏輯。我在我的ASPX頁面的頂部引用這個文件,但事件沒有被觸發。我怎樣才能做到這一點?
外事件我有我的ASPX頁面下面的按鈕 -附加到點擊
$('#btnHello').click(function() {
alert('Hi there');
});
但是我想這個事件進入我的global.js文件,按預期工作,並提出了警告,具有完全相同的邏輯。我在我的ASPX頁面的頂部引用這個文件,但事件沒有被觸發。我怎樣才能做到這一點?
你執行什麼是功能,在開始的時候:
$('#btnHello').click(function() {
alert('Hi there');
});
你鉤住你的警報功能元素#btnHello
。
但在它執行的時候,#btnHello
尚未加載。它還不存在。所以沒有什麼可以吸引人的。
您可以通過在最後執行的代碼,或(更可靠,我認爲)推遲這個代碼的執行解決這個問題或者直到文檔加載完成:
$(function() {
$('#btnHello').click(function() {
alert('Hi there');
});
});
你會把這你的global.js,但它不會執行,直到你的頁面被完全加載。
使用事件代表團:
$(<parent_of_btnHello>).on("click", "#btnHello", function() {
alert('Hi there');
});
..where <parent_of_btnHello>
應添加了處理程序時所加載的元件。例如:
$("body").on("click", "#btnHello", function() {
alert('Hi there');
});
它也可以是$(document)
或$("html")
或你的按鈕中的任何容器,加載的執行從global.js
文件的代碼。
您可以檢查this answer了。
另一種方法是把你的初始代碼的$(document).ready(function() { ... });
內:
$(document).ready(function() {
$('#btnHello').click(function() {
alert('Hi there');
});
});
很可能是當你想要綁定的事件沒有這樣的元素。
嘗試來包裝你的代碼的document.ready
$(function() {
$('#btnHello').click(function() {
alert('Hi there');
});
})