2009-08-27 11 views
0

私は基本的に再バインドの問題がありますが、私が見つけたソリューションのどれも完全にバインドを解除する方法を指定していませんでした(プラグインベースの関数で、unbind( "click")のようにはなりません)。jQuery単純なページャの再バインド

SimplePagerプラグインの場合、基本的にはページ下部にクールなページャ要素が追加されますが、別の機能(具体的には「フリップ」)を実行するとAJAXバインディングが失われます。

元バインディングを介して行わ:

$("ul.paging").quickPager({pageSize:6}); 

しかし、私はフリップの後にその同じことをしようとするとき、私は2つのページング要素を取得します。

だから私は罰金、私はスレートをきれいにし、すべてのバインディングを削除します、考え出し、それを再度追加し、ちょっとのように:

$("ul.paging").unbind(quickPager) < - これは動作しませんでした。

私はそれをどのようにして行うべきでしょうか、それについてもっと良い方法がありますか?

ありがとうございます!

答えて

0

クラスpageNavでULを探して削除すると、追加されたDOM要素が削除されるはずです。 DOM要素からpageNクラスを削除することもできます。次に、プラグインを再適用できるはずです。

注:これは、ポストされたプラグインコードの大まかな検査に基づいています。 YMMV。

$('.pageNav').remove(); 
$('ul.paging').children('[class^=page]').each(function() { 
    var $this = $(this); 
    var newClass = $this.attr('class').replace(/page\d+/,''); 
    $this.attr('class',newClass); 
}); 
$("ul.paging").quickPager({pageSize:6}); 

私は「フリップ」機能がプラグインを破っている理由を探ると思います。おそらく、それはクローンなものであり、ハンドラーは削除されています。私はあなたの他の機能がプラグインを壊さないようにすることでプラグインを処理するより良い方法だと思うが、そのコードがなければ私はあなたに与えることはほとんどない。

関連する問題