无法在Javascript中设置新的IMG事件属性

时间:2016-10-16 21:24:47

标签: javascript html javascript-events

我是JavaScript新手,但有一些Java / C ++经验。所以,我正在尝试使用以下代码在我正在创建的新IMG元素上设置一些简单的事件属性:

var square = document.createElement("IMG");
square.src = "Square_Empty.png";
square.alt = "Oops!";
square.style = "height:100px;width:100px;position:\
absolute;top:14.5px;left:83.1px;";
square.onmouseover = "this.src='Square_Red.png'";
square.onmouseout = "this.src='Square_Empty.png'";
document.body.appendChild(square);

除了onmouseoveronmouseout属性的分配外,一切似乎都运行正常。根据调试器(Firefox),这些属性没有被分配,但其他属性是,我无法弄清楚原因。

1 个答案:

答案 0 :(得分:1)

最好使用addEventListener()

square.addEventListener("mouseover", function(){ this.src='Square_Red.png' });
square.addEventListener("mouseout", function(){ this.src='Square_Empty.png' });

或者您只需添加匿名函数function()

square.onmouseover = function(){ this.src='Square_Red.png'; }
square.onmouseout = function(){ this.src='Square_Empty.png'; }

希望这有帮助。