如何在没有jQuery的情况下获取事件目标
How to get event target without jQuery
我一直在尝试从mouseenter事件中获取目标(<li>
元素),但到目前为止没有运气!
代码:
<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 />
元素。有什么建议吗?
这是因为 onmouseenter
事件不是"冒泡"事件,因此它仅在您输入 UL
元素时触发,而不是在您输入嵌套元素(如 LI
元素)时触发。
因此,e.target
和this
元素都将是UL
。
如果你使用onmouseover
它会冒泡,所以在输入LI
元素时,你会得到LI
作为e.target
。
你可以得到目标的li,比如:
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);
};
相关文章:
- 如何在不需要单击按钮的情况下获取选项的值
- 如何在没有回调的情况下获取有关元素的信息
- 在不使用sort()的情况下获取HTML LI元素的副本
- Javascript如何在不使用画布的情况下获取鼠标位置
- Javascript在没有jQuery的情况下获取X父节点
- Rails/JS-在不刷新页面的情况下获取变量
- jQuery在不刷新页面的情况下获取每个A标记的值
- 在没有jquery的情况下获取iframe中的特定内容
- AJAX/JS:是否可以在没有提交按钮和刷新页面的情况下获取输入文本的值
- 如何在不使用事件的情况下获取元素的 pageX 和 pageY
- 角度 - 在不使用 ng-repeat的情况下获取数据长度
- AngularJS:在不修改ng模型的情况下获取选择标签
- 我可以在没有对象函数调用的情况下获取(可能是计算的)属性值吗?
- 如何在选中数组复选框的情况下获取数组文本框的验证
- 索引数据库,如何在不重新加载页面的情况下获取更新的数据
- 如何在没有元素的情况下获取文件引用对象
- 如何在没有jQuery的情况下获取事件目标
- JavaScript:在没有画布的情况下获取 ImageData
- 在没有解析 JSON 的情况下获取高图表数据
- 如何在没有图像的情况下获取链接