既上一篇作者寫了 Javascript 前端工具 Backbone.js Framework 初學介紹,這次來將程式改寫成 jQuery 寫法,藉這個機會來介紹 jQuery 新功能 on API,底下來看看 jQuery event handle 的演進
//在 jQuery 1.3 以上版本 $(selector).live(events, data, handler); //在 jQuery 1.4.3 以上版本 $(document).delegate(selector, events, data, handler); //在 jQuery 1.7 以上版本 $(document).on(events, selector, data, handler);上面三種寫法都可以綁定網頁上全部元件,如果只是單純只是用 click bind event 的話,那只要新增的元件就無法作用,講得有點抽象,底下直接看個例子:
html 程式碼:
jQuery Click 事件上面例子,大家可以發現只要是透過 button 新增加的 li element 都不可以被刪除,原因就是在 .delete 是 bind 在 click 事件。這時候就要用 jQuery.on API 來重新實做,其實很簡單,只要將 click 改成 on 就完成了,請取代底下程式碼。jQuery Click Event
- I am old item.
- I am old item.
- I am old item.
- I am old item.
$(".delete").click(function(){ $(this).parent().remove(); });換成
$(document).on('click', '.delete', function(event){ $(this).parent().remove(); });直接看
Demo 範例,這樣可以更直接瞭解。
See also
- ScaleDrone Websocket 平台從 Node.js 轉換到 Golang
- 6to5 JavaScript Transpiler 重新命名為 Babel
- 成立 iojs 台灣群組
- 前端工程師必看 JavaScript The Right Way
- jquery-serialize-object 不支援 IE7,8 瀏覽器?
- 將 Backbone Framework 升級到 1.1.0 注意事項
- RequireJS 搭配 CKEditor
- Cross Site Request Forgery in JS Web Apps and CodeIgniter PHP Framework
- [小技巧] JavaScript Cross Browser Best Practices
- Remove Google CDN reference for jQuery?