从元素中删除:active伪类

时间:2014-02-25 14:04:34

标签: javascript pseudo-class

我希望能够告诉某个元素它不再是:active,因此CSS规则不再适用。有没有办法在JavaScript中执行此操作?

4 个答案:

答案 0 :(得分:5)

可能的解决方案:

1)使用课程:

JS:

document.getElementById("element").classList.remove("hasactive");

CSS:

#element.hasactive:active {
    background:blue;
}

2)防止默认的mousedown功能(活动状态):

编辑:显然,这仅适用于Firefox。

JS:

document.getElementById("element").onmousedown = function(event) {
    event.preventDefault();
}

3)删除包含css规则的样式元素

HTML:

<style id="activestyle">
#element:active {
/*Your code here*/
}
</style>

JS:

document.getElementById("activestyle").remove();

答案 1 :(得分:3)

使用document.activeElement

document.activeElement = null;

OR

document.activeElement && document.activeElement.blur();

答案 2 :(得分:1)

通过重置DOM元素,这是一个技巧。

LOAD DATA

然后用:

调用它
function resetElement(e){
    var $e = $(e);
    var $original = $e.clone();
    $e.replaceWith($original);
}

答案 3 :(得分:0)

对于jQuery用户:
JS:

\G

HTML:

$(".btn").click( function () { $(this).blur(); } );