这是我的代码:
<script>
function popupTest(title) {
alert(title);
return false;
}
</script>
<a href="" onclick="return popupTest('This is 'some' "test" string')"><span>Recommend</span></a>
使用Firefox 4我收到错误:
Error: missing ) after argument list
Source Code:
return popupTest('This is 'some' "test" string')
它就像解码HTML实体一样,但我不知道为什么。
也试过......
<a href="" onclick="return popupTest('This is \'some\' \"test\" string')"><span>Recommend</span></a>
哪个出错:
Error: unterminated string literal
Source Code:
return popupTest('This is \'some\' \
答案 0 :(得分:13)
'
, '
HTML 。因此,对于第一个示例,解析HTML并传递JavaScript引擎:
return popupTest('This is 'some' "test" string')
...第二个'
终止字符串。
另一方面:
onclick="return popupTest('This is \'some\' \"test\" string')"
解析为:
onclick属性,其值为
return popupTest('This is \'some\' \
,后跟一些无效数据。
您需要首先处理JavaScript:
return popupTest('This is \'some\' "test" string')
然后和将其转义为HTML:
onclick="return popupTest('This is \'some\' "test" string')"
使用unobtrusive JavaScript并使用JavaScript绑定事件处理程序而不是使用内部事件属性可能会更好。