你试试改成这样看看
var body = document.getElementsByTagName("body")[0];
body.innerHTML += divhtml;btnid.onclick=printtxt;  //开始打印过程
这里直接这样写,也可以啊,没有必要再加一层函数了。

解决方案 »

  1.   

    用了您这样写法也是不行的。而且,一点开页面,就自动执行onClick动作了。还是应该写成 btnid.onclick=function() {
                     
                printtxt();  //开始打印过程
     
            }大仙有写过chrome扩展的程序么?
      

  2.   

    你说直接就执行了,是不是后面加括号了?写成这样了。
    btnid.onclick= printtxt();  //开始打印过程难道这样写在插件里,会直接执行?
    那插件的写法,和平时js的写法也不至于差距这么大吧。没写过插件,只是按照js说的。
      

  3.   

    是的。反正插件的,略有区别。最郁闷的是:divhtml='<div> <button class="btnprint" id="btnprint"><img src="http://www.abc.com/images/btn_print.png"></button></div>';我修改成 divhtml='<div> <button class="btnprint" id="btnprint" onClick="alert(\'Haha\');"><img src="http://www.abc.com/images/btn_print.png"></button></div>';
           测试是可以的。但如果修改为 onClick="printtxt();"  就无法执行了。汗死人啊,求诸位大仙救命啊。