我需要删除我在div
上设置的JavaScript行为。
首先,我设置CSS(这是一个简单的例子):
#redBloc {
width: 100px;
height: 50px;
background-color: #ad3232;
}
#redBloc:hover {
background-color: #3270ad;
}
好的,出于某些原因,我需要在鼠标悬停在div上时覆盖行为。
var redBloc = document.getElementById('redBloc');
redBloc.onmouseover = function() {
this.style.backgroundColor = 'red';
};
它的工作方式与我想要的一样。 但是在我的过程中,我需要重置JavaScript行为,以检索我的CSS文件中写的行为。
我该怎么做?
谢谢
我不需要覆盖onmouseleave
事件的行为,但稍后在我的代码中,例如按下“禁用行为”按钮。
这是通过@ T.J.Crowder的解决方案解决的。
谢谢大家!
答案 0 :(得分:3)
我认为你的意思是你要删除特定的背景颜色,以便CSS中的那个可以再次显示(而不是“行为”)。
如果是,请为其指定""
:
theElement.style.backgroundColor = "";
如果您真的做意味着行为,并且您不希望再触发鼠标悬停处理程序,因为您已使用onmouseover
分配它,您可以通过分配{来删除它{1}}:
null
答案 1 :(得分:0)
您需要通过运行此代码来删除style属性
var redBloc = document.getElementById('redBloc');
redBloc.removeAttribute('style')
您可以在onmouseleave
redBloc.onmouseleave = function(){
this.removeAttribute('style');
}
答案 2 :(得分:0)
在null
上制作您的元素mouseout
,例如:
var redBloc = document.getElementById('redBloc');
redBloc.onmouseover = function() {
this.style.backgroundColor = 'red';
};
redBloc.onmouseout = function() {
this.style.backgroundColor = '';
};
请看下面的代码段:
var redBloc = document.getElementById('redBloc');
redBloc.onmouseover = function() {
this.style.backgroundColor = 'red';
};
redBloc.onmouseout = function() {
this.style.backgroundColor = '';
};
#redBloc {
width: 100px;
height: 50px;
background-color: #ad3232;
}
#redBloc:hover {
background-color: #3270ad;
}
<div id="redBloc"></div>
希望这有帮助!
答案 3 :(得分:0)
您可以在用户使用onmouseleave
&amp;放弃元素时删除效果null
样式属性:
var redBloc = document.getElementById('redBloc');
redBloc.onmouseover = function() {
this.style.backgroundColor = 'red';
};
redBloc.onmouseleave = function() {
this.style.backgroundColor = "";
};
<span id="redBloc">Hover me & leave me!</span>
答案 4 :(得分:0)
你想给redBloc提供你的css中定义的id #redBloc的样式...你可以做的是创建一个css类并在其中放置你想要应用于redBloc的所有样式
.redBloc {
width: 100px;
height: 50px;
background-color: #ad3232;
}
然后在您的javascript中,您可以在mouseover上将此类添加到redBloc
var redBloc = document.getElementById('redBloc');
redBloc.onmouseover = function() {
this.className += " redBloc";
};
这将在redBloc div上添加redBloc css类中定义的样式。希望这有帮助!