1. 原因分析:按鈕是發送 Ajax 請求,成功請求到數據后,使用 JQuery 動態生成的。Ajax 請求是異步刷新機制,不會等上面的代碼執行完。因此給這種類型的按鈕綁定點擊事件時,按鈕還沒有被創建出,那么,click事件自然不會綁定到按鈕上。
2. 解決辦法:
① 在按鈕創建的時候就綁定事件。
② 使用 JQuery 的 .live() 方法:給所有匹配的元素附加一個事件處理函數,即使這個元素是以后再添加進來的也有效。但是在 JQuery 1.7開始的版本中被刪除了,應該使用 .on() 來添加事件處理。使用舊版本的用戶,應該優先使用 .delegate() 來替代 .live()。
③ 使用 JQuery 1.7 中新添加的 .on() 添加事件處理。
3. .on() 具體使用可參考官方文檔:https://www.runoob.com/manual/jquery/