这看起来像一个微不足道的问题,但我不知道如何处理它。我有一个{j}生成的DIV
标记,如下所示:
$('#results')
.append('<DIV id='
+ A.pid
+ ' onmouseover=function(){google.maps.event.trigger(marker, 'mouseover');};><H3>'
+ A.name
+ '</H3></DIV>');
Firebug在列表之后给出了一个“缺失”参数错误,因为它在)
之后不能立即识别'mouseover'
。我该如何解决这个问题?
更新
我理解这是关于转义引用,只是在\'mouseover\'
鼠标悬停时执行DIV
会产生语法错误,并且"mouseover"
会生成一个空白文档。
语法错误如下: function(){google.maps.event.trigger(marker,
答案 0 :(得分:5)
如果它在另一个引用中,你需要逃避引用:
var x = "I don't like you!";
var y = 'I don\'t like you!';
var z = 'echo "this text?";';
要在你的情况下实现它,它将是这样的:
'<DIV id='
+ A.pid
+ ' onmouseover=function(){google.maps.event.trigger(marker, \'mouseover\');};><H3>'
+ A.name
+ '</H3></DIV>'
答案 1 :(得分:1)
您的问题是使用'
字符来分隔您的电话中的函数和参数。
为'
切换一组"
或围绕参数值使用\'
$('#results')
.append('<DIV id='
+ A.pid
+ ' onmouseover=function(){google.maps.event.trigger(marker, "mouseover");};><H3>'
+ A.name
+ '</H3></DIV>');
//OR
$('#results')
.append('<DIV id='
+ A.pid
+ ' onmouseover=function(){google.maps.event.trigger(marker, \'mouseover\');};><H3>'
+ A.name
+ '</H3></DIV>');
答案 2 :(得分:0)
你需要“围绕你的html属性的值。否则浏览器会认为属性在下一个空白处结束,而且恰好在(marker,
部分之后。
$('#results')
.append('<DIV id="'
+ A.pid + '"'
+ ' onmouseover="function(){google.maps.event.trigger(marker, \'mouseover\');};"><H3>'
+ A.name
+ '</H3></DIV>');
答案 3 :(得分:0)
尝试生成以下字符串
'<DIV id=' +
A.pid +
' onmouseover=\"google.maps.event.trigger(marker, \'mouseover\');\"> <H3>' +
A.name + '</H3></DIV>'
答案 4 :(得分:0)
有几件事
onmouseover
事件的匿名函数。试试这个
$('#results').append('<div id="' +
A.pid +
'" onmouseover="google.maps.event.trigger(marker, \'mouseover\');"><h3>' +
A.name +
'</h3></div>');