我是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),这些属性未分配,但其他属性已分配,我不知道为什么。

最佳答案

最好使用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'; }


希望这可以帮助。

关于javascript - 无法在Javascript中设置新的IMG事件属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40075656/

10-14 22:53