参考:AnkithAmtange 发布的评论
给定的html
<div>Click Away</div>
CSS
div {
width: 200px;
height: 200px;
background: orange;
}
div:active {
color: white;
background: rebeccapurple;
}
jsfiddle https://jsfiddle.net/u3uhq9m1/
如何将当前:active
伪类DOM
元素传递给javascript
?
第一次尝试。请注意,jQuery不是必需的。
$(document).ready(function() {
var active;
$("div").click(function() {
active = $(":active");
setTimeout(function() {
console.log("active", active)
}, 1000)
})
})
#a
,span
元素时,控制台会记录<body>
而不是#a
,span
元素。Document.activeElement _“返回当前聚焦的元素,即如果用户键入任何内容,则将获得按键事件的元素”_,_“当没有选择时,活动元素是页面的<body>
或 null”_。 - guest271314$(document).on('click'
中使用event.toElement
。 - Dekelevent.toElement
。在Firefox 45中,event.toElement
记录为undefined
,event.originalEvent.explicitOriginalTarget
记录为点击的节点。问题的要求是将CSS
:active伪类传递给JavaScript。您是否建议DOM
click
事件等同于CSS
:active
伪类? - guest271314