当前位置:编程学习 > JS >>

js onclick按钮失效

var abce="<input type='button' class='sbutton' value='comment' onclick=\"pad("+st+")\"/>"; message.insertAdjacentHTML("afterBegin", abce); function pad(a) { alert(a); } 当st=11时可以,onclick有效 当st=“abc"时 onclick按钮失效
答案:这是数据类型的问题,11可以解释成是一个值为11的数值类型变量,但是abcd则只是一个没有值的变量名称,如果你要把它当做值来传递进去,你就需要加上单引号,说明它是一个字符串,是一个string型变量的值。
其他:有两种方案
第1种:
在onclick调用的方法里处理,如果是st==11就不进行任何操作,如果st=="abc"就进行相关操作
还有一种就是每当st值变化时判断st的值,如果st==11就把onclick调用的事件移除,如果是st=="abc"就添加onclick事件


    希望回答对你有帮助 改成var abce="<input type='button' class='sbutton' value='comment' onclick=\"pad(‘"+st+"’)\"/>";
字符串的时候就成了变量了 onclick=\"pad("+st+")\"/>";
st是数字的时候可以,如果非数字记得加单引号:onclick=\"pad('"+st+"')\"/>"; 这样写应该是可以的,function pad(a){
   if(st==1){
      alert('a')
   }
   if(st=='abc'){
      return false;
   }
}
lin 

上一个:js中怎么传引用
下一个:用一个js文件实现了一个网页对联,并在网页中引用了。但是在网页中后,单击对联,不会弹出我设置的链接。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,