0

下面是我的javascript:

我的要求是我需要使事件可配置(逗号分隔),如可配置间隔。我将如何做。请建议。

像 var events_list=mousedown,mousemove,scroll

var interval = 7000;
    function Init () {
        if (document.addEventListener) {  
            document.addEventListener ("mousedown", function () {ChangeState ()}, false);
            document.addEventListener ("mouseup", function () {ChangeState ()}, false);
            document.addEventListener ("mousemove", function () {ChangeState ()}, false);
            document.addEventListener ("keydown", function () { ChangeState ()}, false);
           document.addEventListener ("scroll", function () {ChangeState ()}, false);
        }
    }
    setInterval(function(){        
    myFunction();},interval);
}
4

1 回答 1

1

正是你想要的是不可能的:

var events_list = mousedown,mousemove,scroll

在您的示例 mousedown 中,mousemove 和 scroll 将被视为变量,并且会因为未声明而引发错误。您可以将它们配置为以逗号分隔的字符串中的元素列表:

var events_list = "mousedown,mousemove,scroll";

然后将它们拆分为一个数组并循环遍历它:

function Init () {
    var events_list = "mousedown,mousemove,scroll";
    if (document.addEventListener) {  
        events_list.split(',').forEach(function (eventName) {
          document.addEventListener(eventName, function () {
              ChangeState();
          }, false);
        });
    }
}
于 2013-07-04T11:33:27.860 回答