1

ページでプラグインcolorpickerを使用していますが、ページにajaxイベントがあり、ページを読み込まずに要素が更新されるため、「ライブ」バインドされていないため、colorpickerが機能しなくなります。したがって、最初のロードでのみ機能します。

クリック、変更などのイベントをライブバインドする方法は知っていますが、プラグインにライブバインドする方法がわかりません。

したがって、私のコードは次のようになります。

$('.box').ColorPicker();

助けていただければ幸いです。

4

4 に答える 4

1

その場合は、要素が利用可能になったら、その場でイベントを添付する必要があります。

<div class="colorpicker">
    <div class='box'>Color</div>
</div>

<input type="button" id="btn1" value="Add New Color Picker" />    

$(function() {
    // Adding the Default colorPicker here
    $('.box').ColorPicker();

    $('#btn1').on('click' , function(){
        // Add the ColorPicker to the new Element added Here

        $('.colorpicker').append('<div class="box1">New Color</div>');
        $('div div').last().ColorPicker();

    });        
});​

このアプローチを試してください。

于 2012-09-11T23:02:21.097 に答える
1

これはあなたが探しているものですか

ああ、.onAPIを使用します。そしてあなたが熱心なら:jQueryライブメソッドの何が問題になっていますか?

それがあなたのニーズに合うことを願っています:)

コード

$(document).on('click', '.box', function(){
      $(this).ColorPicker();
});
于 2012-09-11T23:10:31.777 に答える
0

ColorPickerのWebサイトからの簡単な回答を次に示します。

$('#ColorPicker').ColorPickerSetColor(color);

ajaxアップデートを使用しても同じ問題が発生しました。

于 2013-01-22T20:22:17.387 に答える
0

また、superliveプラグインを介してライブバインドプラグインを使用することもできます。このプラグインの経験はありませんが、ファンキーに見えます。

https://code.google.com/p/jquery-superlive/

于 2014-04-28T12:29:42.120 に答える