2009-10-26 45 views

回答

7

是的,它仍然有用。 live()只適用於某些事件,而livequery()可以綁定到用戶瀏覽器提供的任何事件。

http://docs.jquery.com/Events/live

可能的事件值:click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup

目前不支持:blur, focus, mouseenter, mouseleave, change, submit

注意,同樣不支持像touchstart, touchend觸摸事件等

2

livequery()提供的一個有用功能live()不能在每次匹配新元素(和/或元素不再匹配)時觸發自定義函數。

docs

實況查詢也有能力來 防火功能(回調),當它 當經過 元素不再是一個新的元素和另一個 函數(回調)匹配匹配。這個 提供了極大的靈活性和 無數的用例。例如, 以下代碼使用基於 Live Query的函數來實現jQuery 懸停輔助方法,並在 元素不再匹配時將其刪除。

$('li') 
    .livequery(function(){ 
    // use the helper function hover to bind a mouseover and mouseout event 
     $(this) 
      .hover(function() { 
       $(this).addClass('hover'); 
      }, function() { 
       $(this).removeClass('hover'); 
      }); 
    }, function() { 
     // unbind the mouseover and mouseout events 
     $(this) 
      .unbind('mouseover') 
      .unbind('mouseout'); 
    }); 
相關問題