Zeroclipboard多个元素

And*_*i C 3 jquery click popupwindow zeroclipboard

我在代码中创建多个Zeroclipboard实例化时遇到问题,每个实例化在调用后都会启动一个弹出窗口.

<a class="xxx" href="popup.url.php" ><span >FRSDE3RD</a>
<a class="xxx" href="popup.url2.php" ><span >FRSDE3RD2</a>
<a class="xxx" href="popup.url3.php" ><span >FRSDE3RD3</a>
$(document).ready(function(){
    ZeroClipboard.setMoviePath( 'path/to/swf/ZeroClipboard.swf' );
    // setup single ZeroClipboard object for all our elements
    clip = new ZeroClipboard.Client();
    clip.setHandCursor( true );

    // assign a common mouseover function for all elements using jQuery
    $('a.xxx').mouseover( function() {
        // set the clip text to our innerHTML
        var url = $(this).attr("href");
        var code = $(this).children('span').html();
        clip.setText( $(this).children('span').html() );//this.innerHTML );

        clip.glue(this);
        clip.addEventListener('onMouseDown', function(){
            clip.reposition(this);
            clip.setText( code );
        });

        clip.addEventListener('onComplete', function(){ 
            clip.reposition(this);
            popUp(url);
        }); 


    });
});

function popUp(URL)
{
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=1024,height=768,left = 328,top = 141');");
}
Run Code Online (Sandbox Code Playgroud)

我成功生成了复制到剪贴板功能,但是如果我使用onMouseUp,onComplete事件来触发弹出功能,它会像4-5弹出窗口一样触发或根本不触发.

PS我试图改进如何使用jQuery和ZeroClipboard将Ajax响应加载到剪贴板中的解决方案而不是ajax调用只是复制到剪贴板,并完成午餐弹出...正如我说的那样对我不起作用.

在启用flashblocker时我想出了什么呢?每次我翻转CODE标签时都会在同一位置创建一个新的闪存,这可能就是为什么我单击它时会弹出3-4个弹出窗口的原因.如果我翻滚更多,会有更多弹出窗口出现.有没有办法阻止闪光灯在相同位置创建或在推出时销毁?

And*_*i C 14

经过更多的研究,我得到了解决这个问题的方法:

$("a.xxx").each(function() {
  //Create a new clipboard client
  var clip = new ZeroClipboard.Client();
  clip.setHandCursor( true );

  //Glue the clipboard client to the last td in each row
  clip.glue(this);

  var url = $(this).attr("href");
  //Grab the text from the parent row of the icon
  var code = $(this).children('span').html();    
  clip.setText(code);

  //Add a complete event to let the user know the text was copied
  clip.addEventListener('complete', function(client, text) {
    //alert("Copied text to clipboard:\n" + text);
    popUp(url);
  });
});
Run Code Online (Sandbox Code Playgroud)

如果其他人都会遇到这个问题,这就是解决方案.