问题描述
我需要一些可以将img标签动态添加到div的javascript代码,并且img标签需要onmouseover和onmouseout处理程序.
I need some javascript code that dynamically adds an img tag to a div, and the img tag needs onmouseover and onmouseout handlers.
我可以在Firefox上运行它.但这在IE上并不完全有效.在IE上,添加了img标签,但是onmouseover和onmouseout处理程序未激活.
I have it working on Firefox. But it doesn't quite work on IE. On IE, the img tag is added, but the onmouseover and onmouseout handlers are not active.
代码如下:
<body>
<div id='putImageHere' />
<script type='text/javascript'>
var node = document.getElementById('putImageHere');
var img = document.createElement('img');
img.setAttribute('src', 'http://sstatic.net/so/img/logo.png');
node.appendChild(img);
// first attempt, which works on Firefox but not IE
img.setAttribute('onmouseover', "alert('mouseover')");
img.setAttribute('onmouseout', "alert('mouseout')");
// second attempt, which I thought would work on IE but doesn't
img.addEventListener('mouseover', function() { alert('mouseover') }, false);
img.addEventListener('mouseout', function() { alert('mouseout') }, false);
</script>
</body>
推荐答案
if (img.addEventListener) {
img.addEventListener('mouseover', function() {}, false);
img.addEventListener('mouseout', function() {}, false);
} else { // IE
img.attachEvent('onmouseover', function() {});
img.attachEvent('onmouseout', function() {});
}
研究使用许多流行的javascript库之一(jquery,prototype等).它们隐藏了浏览器的不一致之处,因此您不必担心编写上面的代码.
look into using one of the many popular javascript libraries (jquery, prototype, etc). they hide browser inconsistencies so you don't need to worry about writing code like above.
这篇关于使用javascript在IE上添加img标签时,onmouseover不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!