我想为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。否则,此代码正常工作(如果我执行alert
或console.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>
谢谢!
答案 0 :(得分: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
});
});
});