0

私は基本的に再バインドの問題を抱えていますが、バインドを完全に削除する方法を指定した解決策はありませんでした (および unbind("click") とは異なり、プラグインベースの関数の場合)。

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

元のバインディングは次のとおりです。

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

しかし、フリップの後に同じことをしようとすると、2 つのページング要素が発生します。

それで、スレートをきれいにして、すべてのバインディングを削除し、次のように再読み込みします。

$("ul.paging").unbind(quickPager)<--これはうまくいきませんでした。

どうすればそれを行うことができますか?それについてもっと良い方法はありますか?

ありがとう!

4

2 に答える 2

0

class 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});

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

于 2009-08-27T21:11:42.090 に答える
0

使用しているコードまたはテスト ページへのリンクはありますか? 私は simplepager プラグインを作成したので、壊れている/壊れている場所を確認し、必要な修正を加えたいと思います。

Ps http://www.geckonewmedia.com/blog/2009/8/20/simplepager---jquery-paging-plugin--updatedに投稿されたプラグインの更新もあります。

于 2009-08-28T10:09:04.087 に答える