1. 程式人生 > >jQuery事件之on()方法繫結多個選擇器,多個事件

jQuery事件之on()方法繫結多個選擇器,多個事件



這樣一個需求,如果用live()方法實現的話 非常簡單,容易理解。

  1. $('nav li, #sb-nav li, #help li').live('click',function(){
  2. // code...
  3. });

jquery在1.7版本後,建議大家用on方法代替之前的bind、live、delegate方法。
那上面一句如果用on的話,怎麼寫呢?

其實檢視live原始碼就知道,live實際是委託doucment進行事件委派的。
按照這個思路,可以將on方法繫結到document即可。

  1. $(document).on('click','#header .fixed-feedback-bn, #sb-sec .feedback-bn'
    ,function(){
  2. // code...
  3. });

還有一種情況,on()方法繫結多個事件,可以這樣寫:

  1. $("table.planning_grid").on({
  2. mouseenter:function(){
  3. // Handle mouseenter...
  4. },
  5. mouseleave:function(){
  6. // Handle mouseleave...
  7. },
  8. click:function(){
  9. // Handle click...
  10. }
  11. },"td");

最後,用on()方法繫結多個選擇器,多個事件則可以這樣寫:

  1. $(document).on({
  2. mouseenter:function(){
  3. // Handle mouseenter...
  4. },
  5. mouseleave:function(){
  6. // Handle mouseleave...
  7. },
  8. click:function(){
  9. // Handle click...
  10. }
  11. },'#header .fixed-feedback-bn, #sb-sec .feedback-bn');