繁体   English   中英

使用Grails在执行警报的事件处理程序中转义双引号

[英]Escaping double quotes in event handler that does an alert, using Grails

在这篇类似的文章中 ,我尝试了以下操作,但均无济于事,并指出了错误:

onclick="alert('This is my  \"quoted text:\"');"   (no browser response)

onclick="alert('This is my  \\"quoted text:\\"');  (no browser response) 

onclick="alert('This is my  "quoted text:"');"  (comes out as: This is my  "quoted text:")

onclick="alert('This is my  \x22quoted text:\x22');"  (grails .gsp page preprocessor chokes on this)

除了将警报放入功能之外,还有其他想法吗? 我想有办法在html / javascript中做到这一点?

注意:我更新标题以限定使用Grails的问题。 以下所有解决方案通常都可以正常使用,但不适用于Grails 1.3.7。 按照MaxArt的指示,有效的方法是在上述版本4中的每个反斜杠之前添加一个额外的反斜杠。

最后一种形式是正确的形式。 我不知道Grails是如何处理的,但是您可以尝试避免使用反斜杠。

您始终可以决定(实际上是一种更好的做法)将事件侦听器附加到元素,而不是使用传统的事件声明。 这应该在主体加载后执行:

document.getElementById("alerter").addEventListener("click", function() {alert('This is my "quoted text"');}, false);

当然,对于Internet Explorer <9,请使用attachEvent

这应该是您的要素:

<span id="alerter">Quoted text</span>

你有没有尝试过

&#8220; for a left
&#8221; for a right

只是另一个选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM