将内联Javascript函数作为参数传递给其他内联javascript函数

时间:2013-08-05 13:22:37

标签: javascript

字符串中的单引号正在创建执行_gaq.push函数的问题 现在我想替换文本字符串中的单引号,例如Replace("'"," \'")。

<a onclick="_gaq.push(['_trackEvent', 'XYZ', 'ABC', 'Music and fun daddy's child']);"  href="www.xyz.com" target="_blank">
Deal with daddy
</a>

有人可以帮我写一个替换javascript内联函数并将其作为参数传递给_gaq.push函数。

更新: -  我在一个内容管理系统支持的Scripting languange中使用此脚本,该系统不再允许定义变量。

所以我需要在

的onclick上调用的单个java脚本中的所有内容

2 个答案:

答案 0 :(得分:0)

实际上只有这样才能在onclick之外设置一个变量。

var description = "Music and fun daddy's child".replace("'", "\'");

<a onclick="_gaq.push(['_trackEvent', 'XYZ', 'ABC', '" + description + "']);"  href="www.xyz.com" target="_blank">
Deal with daddy
</a>

答案 1 :(得分:0)

在将'Music and fun daddy's child'值传递给锚标记onclick函数之前,您必须获取该值并使用.indexOf()方法查找是否有任何单引号({{1 }})。 如果找到,则必须使用'方法

将其替换为\'

<强>即

.replace()

然后将该值传递给函数

var str = "Music and fun daddy's child";
var n = str.indexOf("'");
if(n >= 0){
var n = str.replace("'","\\'");
  alert(n);
}