0

ajax でロードされた結果 (json データ、html スニペットに変換) に対して zClip を有効にしたい... しかし、zClip はclickそれ自体でイベントを添付するため、問題があります...

    $('ul.detail_list').delegate("a.clipboard", "click", function(e){
                        e.preventDefault();
                        $(this).zclip({
                            path:'images/ZeroClipboard.swf',
                            copy:$(this).text(),
                            afterCopy:function(){
                                window.open('....');
                            },
                            clickAfter: false
                        });

Zclip を起動するには、2 回クリックする必要があります。それ以外の場合、このコードは正常に機能しています(そうするalertconsole.log、zClipの代わりに毎回起動する場合)...

では、これを防ぐために Zclip を取り付けるにはどうすればよいでしょうか?

更新: ul.detail_listjson 応答の後に生成される html スニペットについて言及するのを忘れていました。

HTML スニペット (json 応答から動的に生成):

    <ul class="detail_list">
    <li><a href="#" class="clipboard">text to copy 1</a></li>
<li><a href="#" class="clipboard">text to copy 2</a></li>
    ...
    </ul>

ありがとう!

4

1 に答える 1

0

それが役立つかどうかはわかりませんが、私は次のように試してみます:

$("body").undelegate('ul.detail_list', "click",  function(eventUndelegated) {
    $('ul.detail_list').delegate("a.clipboard", "click", function(eventDelegated){
        eventDelegated.preventDefault();
        eventDelegated.stopPropagation();
        $(this).zclip({
            path:'images/ZeroClipboard.swf',
            copy:$(this).text(),
            afterCopy:function(){
                window.open('....');
            },
            clickAfter: false
        });
    });

});
于 2012-04-18T05:46:33.100 に答える