我正在尝试在动态生成 HTML 的页面上使用最新版本的 ZeroClipboard 插件。我尝试了几种不同的实现方式,但它们都具有相同的整体效果。我似乎最终得到了一个包含 flash 元素的页面,因为当我右键单击适当的元素时,我得到了弹出窗口“关于 Flash Player” - 但我也在同一个弹出窗口中看到“电影未加载”
我正在使用 JQuery 1.9.1 和 Twitter Bootstrap 2.3.1。我的 Flash 插件是 v11.7.700.202。我的网络服务器是 IIS7.5
我用来动态生成 HTML 的代码在读取用户 ID 数组的循环中,如下所示:
str=str+ '<span class="bMail_address" id=span-"'+
st.EmailAddresses[i]+
'" data-clipboard-text="'+
st.EmailAddresses[i]+
'@mydomain.com">'+
st.EmailAddresses[i] +
"@mydomain.com </span>";
在遍历数组并输出结果字符串后,我尝试添加 ZeroClipboard 内容,如下所示:-
// bind ZeroClipboard
$('.bMail_address').each (function() {
// read text to copy from the data-clipboard-text attribute
var msg=$(this).attr('data-clipboard-text');
//create ZeroCiplboard object
var clip = new ZeroClipboard();
// set the text to copy
clip.setText(msg);
// setup event handlers
clip.on('complete', function (client, text) {
alert("copied: "+text+ "to clipboard");
});
clip.on( 'noflash', function ( client, args ) {
alert("You don't support flash");
});
// glue the object to the element
clip.glue($(this));
});
使用 Chrome 调试工具,我可以看到通过循环为所有新创建的对象创建新的 ZeroClipboard 对象的迭代,并且没有未捕获的异常,但警报永远不会发生,所以我假设“完成”事件永远不会触发
我确定我犯了一些简单的菜鸟错误,但我就是看不到
感谢所有的想法和建议