您不能"
在由字符分隔的 HTML 属性值中使用"
文字。它将提前终止属性值。
您可以包含一个 as "
,但这会使代码更难阅读。
<img id="image" src="images/bird.jpg" onmouseover="PlaySound("mySound"); this.src="images/bird_second_frame.jpg"" onmouseout="StopSound("mySound"); this.src="images/bird.jpg"">
我被告知根本不要使用单引号 - 这是一个例外吗?
不,你刚刚得到了不好的建议。
JavaScript 和 HTML 不区分'
和 ,"
除非确定哪些字符可以出现在它们之间而不会被转义。
在您的示例中使用'
更具可读性。
更好的方法是完全避免内联 JavaScript。
<img id="image"
src="images/bird.jpg"
data-sound="mySound"
data-frame="images/bird_second_frame.jpg">
<script>
var element = document.getElementById("image");
element.addEventListener("onmouseover", play);
element.addEventListener("onmouseover", stop);
function play() {
PlaySound(this.dataset.sound);
this.dataset.original = this.src;
this.src = this.dataset.frame;
}
function stop() {
StopSound(this.dataset.sound);
this.src = this.dataset.original;
}
</script>