当我们用js动态添加按钮或者其他功能时,当触发的时候需要向触发方法进行传值,而此时无论怎么点击都不会触发方法,代码调试也找不出问题,就是不会触发目标方法,究竟是什么原因呢?是不是觉得可气?觉得很不可思议?为什么有的事件正常触发?
原因是调用方法时,向方法中传递值的方式有问题!!!!!
奉上例子:
formatter:function(value,row,index){
return "<a href='javascript:void(0);' onclick='dicCodeAddOrUpdateJump(2,"+row.sysDictCodeId+",2)'>修改</a>
+"     
<a href='javascript:void(0);'
onclick='dicCodeAddOrUpdateJump(3,\""+row.sysDictCodeId+"\",\""+row.codeKey+"\",2)'>删除</a>";
}
当我们向onclick后的方法传递number类型的参数时,正常拼接字符串就可以;但是如果我们想要向方法传递String类型的参数时,此时就需要使用转义字符 " \ " 将双引号 " 转义成具有实际意义的符号。
最终效果变成:οnclick=”dicCodeAddOrUpdateJump(3 , "abcd" , "cdef" , 2)“,这样我们的代码就会顺利的执行了,赶快试试吧!