iT邦幫忙

DAY 19
2

jQuery 套件開發之我可不可以跳著說系列 第 15

jQuery套件開發之(十八),寫套件時,綁定事件要小心

前幾天寫套件的時候,不小心犯了一個綁定事件的錯誤

因為我寫的套件,都是以widget會很多的狀況來寫。

所以綁定事件的時候,通常有兩個方式

第一種 :

每一個widget內的事件綁定,利用元素直接綁定

var ele$ = $('<div>')
                .appendTo('body') ;

ele$.click(function(){  }) ;                                

如果元素的產生跟事件的綁定 不是連著作

那也可以利用ID選擇器來綁定

var ele$ = $('<div>')
                .attr('id', xxx)
                .appendTo('body') ;

//---遙遠的距離---

$('#xxx').click(function(){  }) ;                                

其實套件寫久就知道

這樣取ID綁事件,頭腦容易打結,所以我通常用第二種偷吃步的方式

第二種 :

$(document)
    .on('click', class, function() {}) ;

第二種程式碼的好處是

只要執行一次就可以,不用每次物件生成的時候

還要跑一段綁事件的程式碼

而且,有時候使用套件的人會不管三七二十一直接複製你的元素來利用

這樣一來,被複製的widget就會沒有綁到事件

所以用第二種方式來綁,真的比較有效率

不過要記住喔,1.7之後才有支援這樣的寫法~


上一篇
jQuery套件開發之(十七),實作drag的的部分
下一篇
jQuery套件開發之(十九),對於套件參數的思考
系列文
jQuery 套件開發之我可不可以跳著說26

尚未有邦友留言

立即登入留言