我一直在尝试从鼠标中心事件中获取目标(元素),但到目前为止还没有成功!
守则:
<ul id="ul">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<script>
var ul = document.getElementById('ul');
ul.onmouseenter = function(e) {
console.log(e.target);
};
</script>
不幸的是,控制台一直在打印<ul />
元素。有什么建议吗?
发布于 2013-10-16 04:36:19
这是因为onmouseenter
事件不是“冒泡”事件,因此它只在输入UL
元素时触发,而不是在输入嵌套元素(如LI
元素)时触发。
因此,e.target
和this
元素都是UL
。
如果您使用onmouseover
,它就会冒泡,所以当您输入LI
元素时,会得到LI
作为e.target
。
发布于 2013-10-16 04:38:24
你可以得到目标的李:
function getEventTarget(e) {
e = e || window.event;
return e.target || e.srcElement;
}
var ul = document.getElementById('ul');
ul.onclick= function(event) {
var target = getEventTarget(event);
console.log(target.innerHTML);
};
https://stackoverflow.com/questions/19395287
复制相似问题