2


0

livequeryはDOMが変更された後もあなたのイベントを維持するためのものです。

最新のjqueryビルドはすでにこれをサポートしていませんか?

2 Answer


7


はい、それはまだ便利です。 `+ live()`は特定のイベントでのみ機能しますが、 ` livequery()+`はユーザーのブラウザが提供する任意のイベントにバインドできます。

_ _ 可能なイベント値: + click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、keydown、keypress、keyup +

現在サポートされていません: + blur、focus、mouseenter、mouseleave、change、submit + _ _

また、「+ touchstart、touchend +」などのタッチイベントもサポートされていないことに注意してください。


2


`+ livequery()`が提供する一方で ` live()+`が提供しない便利な機能の1つは、新しい要素が一致する(および/または要素が一致しなくなる)たびにカスタム関数を起動する機能です。

docsから:

_ Live Queryには、新しい要素と一致したときに関数(コールバック)を起動し、要素が一致しなくなったときに別の関数(コールバック)を起動する機能もあります。 これは究極の柔軟性と比類のないユースケースを提供します。 たとえば、次のコードでは、関数ベースの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');
    });