基本删除事件侦听器Javascript

基本删除事件侦听器Javascript,javascript,event-listener,Javascript,Event Listener,基本上是一个开关。我有这个按钮: <button id='btn'>Hover, don't click</button> 现在: 按命令工作,但: document.getElementById('btn').removeEventListener('mouseout', changeColor); 不听话的。 JS Fiddle认为所有人都表现正常: 我不同意。 谢谢 试试这个: 或者使用CSS更容易: 使用onmouseover或css要容易得多,但是如果您仍然

基本上是一个开关。我有这个按钮:

<button id='btn'>Hover, don't click</button>
现在:

按命令工作,但:

document.getElementById('btn').removeEventListener('mouseout', changeColor);
不听话的。 JS Fiddle认为所有人都表现正常:

我不同意。 谢谢

试试这个:

或者使用CSS更容易:


使用onmouseover或css要容易得多,但是如果您仍然想使用addeventlistener,您必须认为add将附加函数,remove将从元素中删除它

在任何情况下,都必须添加两个独立的事件

例如:

var element=document.getElementById('btn');
var changeColorA = function () {
    document.getElementById('btn').style.color = "#ff1033";

}
var changeColorB = function () {
            document.getElementById('btn').style.color = "#000";
}
element.addEventListener('mouseover', changeColorA);
element.addEventListener('mouseout', changeColorB);
同样,我不建议您使用此代码,它仅用于教育用途


使用CSS执行此操作

您正在添加鼠标盖,然后删除鼠标盖mouseout@Papa,我知道如何在CSS中实现它。我只是想了解js如何控制DOM。谢谢你的邀请suggestion@Piwakawaka,因此这两个方法必须是相同的,只是其中一个具有removeEventListener方法。我试过了,但是什么都没发生,或者应该说,只有removeEventListener被执行,因为我没有看到任何变化。我想它需要另一个元素(可能是另一个按钮)作为控制“开关”。谢谢感谢@Leandro花时间来树立榜样。我知道如何在CSS中实现它。我只想学习js如何控制DOM。不客气,詹姆斯。请花一秒钟时间投票选出对你有用的答案,并将其标记为对真正帮助你的答案的回应。这会增加你的分数,也会增加你下次其他人回答你的概率。这个网站现在不允许我投票。我需要至少15个声誉;目前,我只有9个,这是从我上次的4个。。。虽然我不知道为什么。要知道,每当我的问题得到答案时,我都想投赞成票。一旦我达到最低限度,那么是的,我将投票。再次感谢!嗯,我不知道你可以直接做这样的事情。谢谢!是的,CSS是一种方式!:)是的,你可以,不客气!:)
document.getElementById('btn').removeEventListener('mouseout', changeColor);
var btn = document.getElementById('btn')
btn.onmouseover = function changeColor() {
    document.getElementById('btn').style.color = "#ff1033";
}
btn.onmouseleave = function changeColor() {
    document.getElementById('btn').style.color = "#fff";
}
#btn {
    color: #ff1033;
}
#btn:hover {
    color: #fff;
}
var element=document.getElementById('btn');
var changeColorA = function () {
    document.getElementById('btn').style.color = "#ff1033";

}
var changeColorB = function () {
            document.getElementById('btn').style.color = "#000";
}
element.addEventListener('mouseover', changeColorA);
element.addEventListener('mouseout', changeColorB);