Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将内联Javascript函数作为参数传递给其他内联Javascript函数_Javascript - Fatal编程技术网

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

将内联Javascript函数作为参数传递给其他内联Javascript函数,javascript,Javascript,字符串中的单引号正在创建执行_gaq.push函数的问题 现在我想替换文本字符串中的单引号,类似于replace(“'”,“\”) 有人能帮我写一个替换javascript内联函数,并将其作为参数传递给_gaq.push函数吗 更新:- 我在一个内容管理系统支持的脚本语言中使用此脚本,该系统不再允许定义变量 所以我需要在一个名为onclick的java脚本中调用所有内容,唯一的方法是在onclick之外设置一个变量 var description = "Music and fun daddy

字符串中的单引号正在创建执行_gaq.push函数的问题 现在我想替换文本字符串中的单引号,类似于replace(“'”,“\”)


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

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


所以我需要在一个名为onclick的java脚本中调用所有内容,唯一的方法是在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>
var description=“音乐和乐趣爸爸的孩子”。替换(“”,“\”);

在将
'Music and fun daddy's child'
值传递给锚定标记
onclick
函数之前,必须获取该值并使用
.indexOf()
方法查找是否有任何单引号(
)。 如果发现,必须使用
.replace()
方法将其替换为
\'

var str = "Music and fun daddy's child";
var n = str.indexOf("'");
if(n >= 0){
var n = str.replace("'","\\'");
  alert(n);
}
然后将该值传递给函数,如

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


\u gaq.push
调用是否必须直接内联到
onclick
处理程序?将其包装到函数中可能更容易,只需通过
onclick
调用包装函数即可。这是如何呈现的?理想的解决方案是在呈现页面时正确地转义该值。查看我发布的答案当javascript一开始就已经是语法错误时,您无法使用javascript执行此操作。如何创建html标记?如果它是手写的,只需添加缺少的反斜杠,如果它是在服务器上动态生成的,请输入该代码并为服务器端语言添加标记。除Firefox之外的任何浏览器当前都不支持。我自己在Chrome 28上试过。您应该正在使用,它已得到支持(如果没有进一步支持的话)。在不通知您的情况下编辑它不会让您知道不支持
.contains()
。我继续为您编辑了它,但是对于如此剧烈的变化,欢迎您自己编辑它,而不是将责任留给其他人,这样您就可以根据变化审查您的答案,以确保它仍然符合您的想法。@ajp15243编辑了我自己,感谢您的反馈。您是正确的人,但这里有一个挑战,我使用的脚本语言不允许我定义任何变量。这是内容管理系统支持的脚本语言。@user584那么在将此变量传递给函数之前,您可以用代码语言Java/c#any替换…您是对的,但这是一个挑战。我使用的脚本语言不允许我定义任何变量。它是内容管理系统支持的脚本语言。如何在HTML标记中使用该变量?目前看起来相当无效。
<a onclick="_gaq.push(['_trackEvent', 'XYZ', 'ABC', '"+n+"']);"  href="www.xyz.com" target="_blank">
   Deal with daddy
</a>