據我瞭解,你想一個事件處理程序分配給您的形式。例如,您可能想要分配處理表單提交事件的事件處理程序。
$("#myform").submit(function() {
$.post("sendFromDataHere.php", $(this).serialize());
});
現在,您有兩種情況。
- 你把這個腳本放在你的主js文件中。
- 你把這個腳本和返回的html放在一起。
2期工程,1沒有。這是因爲在場景1中,當腳本執行時,#myForm不存在於DOM中。 2的工作原理是因爲它是在#myForm插入到DOM中時加載的,因此可以分配事件處理程序。
那該怎麼辦? 2當然是不好的做法。要將處理程序分配給在將來某個時間插入到DOM中的元素,可以使用jQuery的函數.live()和.delegate。如果您使用最新版本的jQuery(> = v1.7),則應該查看最近添加的.on()。據我瞭解,它現在應該被用來代替.bind(),.live()和.delegate()。
這裏是腳本會是什麼樣子使用。做()。
$("body").on("submit", "#myForm", function() {
$.post("sendFromDataHere.php", $(this).serialize());
});
一個好的做法是用你要插入html的容器的選擇器替換「body」選擇器。
以下內容引自.on()文檔。
「委託事件具有的優點是它們可以處理來自被添加到文檔在稍後的時間後代元素事件。通過挑選這是保證存在於授權的事件處理程序被安裝時的元件,你可以使用委託的事件,以避免需要頻繁安裝和取下事件處理程序。這個元素可以是一個模型 - 視圖 - 控制器設計視圖的容器元素......」
使用這樣的將事件處理程序分配給您的表單,您應該能夠將腳本放入主js文件中。
沒了,這裏只有JS在我的js文件: – blop
顯示你的代碼(編輯問題)! –