我正在构建使用AJAX的<div>
元素,并且我想添加ZeroClipboard功能。 Firebug显示代码构建正确,当我将它复制到原始HTML测试页面时,它也可以工作。这些构建不是在onload上发生,而是在赛道上。innerHTML在主体中插入脚本(对于ZeroClipboard)不起作用
的代码如下,调用,创造了新的元素一些功能:
dom_append_child_with_onclick ("img",export_id,"icon_active",report_heading_id, "event.cancelBubble = true;");
dom_append_child ("div",export_script_id,"",report_heading_id);
text = "<script language='JavaScript'>var clip" +rnum +"=new ZeroClipboard.Client();clip"+rnum+".setText('');clip"+rnum+".addEventListener('mouseDown',function(client){alert('firing');clip"+rnum+".setText(document.getElementById('SL40').value);});clip"+rnum+".glue('XR"+rnum+"','RH"+rnum+"');</script>";
document.getElementById(export_script_id).innerHTML=text;
我的问题:当您插入脚本到<body>
,你必须做一些事情来得到它的火?该脚本似乎没有做它的事情,我不能得到警报“解雇”显示。
注意:cancelBubble是停止底层元素的onClick函数。如果我能够使闪光灯工作,可能没有必要。
谢谢。
感谢这一点,亚当。我已经稳步地认识到我所问过的错误问题。它慢慢地让我意识到,从已经运行的脚本插入脚本(使用innerHTML)没有意义,并且可以做我需要做的事情。实际上,我的解决方案一直是按照你的功能想法所建议的。我创建了一个全局数组o,然后使用o [rnum] = new ZeroClipboard.Client();等等在我的解决方案中使用window [“clip”+ rnum]会有好处吗? – Nick 2012-02-27 10:33:52
不,你的新解决方案更好(比编号的全局变量更容易使用数组!) – 2012-02-28 01:19:14
谢谢,亚当。 --- – Nick 2012-02-28 06:21:21