将eventlisteners添加到if语句

时间:2016-09-01 05:19:31

标签: javascript javascript-events

我想知道你是否可以在javascript中将onmouseover + onmouseout添加到if / else语句中,例如:

function pan() {
        var ID = document.getElementById("grad");
        var change = ID.style.backgroundSize = "1200px 500px";
        var revert = ID.style.backgroundSize = "1080px 300px";

        if (){
            change.addEventListener("onmouseover");
        }else {
            revert.addEventListener("onmouseout");
        }

    }

我到处寻找,看不到肯定是或否,除非它在Jquery中,我甚至还没看过Jquery所以请不要在jquery中给出答案。

如果有可能,你是怎么做到的?

否则,还有其他选择吗?

1 个答案:

答案 0 :(得分:2)

可能,但您的代码不正确,此处更正的代码为:

     function pan() {
        var ID = document.getElementById("grad");
        var change = ID.style.backgroundColor = "red";
        var revert = ID.style.backgroundColor = "black";

        if( true){
            ID.addEventListener("mouseover", function(){alert("EVENT OVER")});
        }else {
            ID.addEventListener("mouseout", function(){alert("EVENT OUt")});
        }
    }

您可以绑定元素上的事件。

以下是addEventListener函数https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

的一些文档

但我认为你会想要做这样的事情(我使用backgroundColor,所以可以看到更好的例子)



var ID = document.getElementById("grad");

function change (event){
  event.target.style.backgroundColor = "red";
}

function revert (event){
  event.target.style.backgroundColor = "white";
}

ID.addEventListener("mouseover", change);
ID.addEventListener("mouseout", revert);

<div id="grad" style="border:1px solid black">sdfgsdfg</div>
&#13;
&#13;
&#13;