0

我想为ajax加载的结果启用zClip(json数据,变成html片段)......但是有一个问题,因为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。否则,此代码将正常工作(如果我这样做alertconsole.log不是 zClip 它每次都会触发)...

那么我怎样才能附加 Zclip 来防止这种情况呢?

更新:忘了提ul.detail_list的是在 json 响应后生成的 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 回答