添加mousewheel eventlistener错误

时间:2014-11-13 11:35:41

标签: javascript function events addeventlistener mousewheel

问题在于:

我有一个函数,它不会返回任何内容......它被称为:

function zoom(event){
    alert("wheel delta : "+event.wheelDelta);
    return false;
}

单击我的元素,我尝试以这种方式在鼠标滚轮上添加一个事件监听器:

element.addEventListener("mousewheel",zoom,false);

元素是svg标记。但是,从不调用函数缩放,我只收到此消息:

TypeError: Argument 2 of EventTarget.addEventListener is not an object.

我做错了什么?

感谢您的帮助:)

编辑:这是整个代码:

function ZoomMain(){
var zoom = 0;
var main;
var clicks = 0;
this.click = function(event,svg){
    if(svg){
        switch(clicks%2){
            case 0 :
                main = svg;
                main.addEventListener("mousewheel",zoom,false);
                clicks++;
            break;
            case 1 :
                main.removeEventListener("mousewheel",zoom,false);
                clicks++;
            break;
        }
    }else{
        alert("ERROR");
    }
};

function zoom(event){
    alert("wheel delta : "+event.wheelDelta);
    return false;
}
}

1 个答案:

答案 0 :(得分:1)

if(typeof zoom === "function"){
    element.addEventListener("mousewheel",zoom,false);
}
else{
    alert(zoom);
}

如果zoom不是function可能是范围问题。添加所有相关代码以获得更多帮助。

PS:这不是问题的解决方案,而是调试的解决方案!如果您对开发人员工具没问题,请使用dubyg查看zoom是否具有有效值。

on click on my element, i try to add an event listener on mousewheel

粘贴click事件处理程序以及如何在click事件处理程序中绑定mousewheel事件处理程序。还显示相对于这些定义zoom的位置。

http://jsfiddle.net/vucfrfke/3/

愚蠢的问题,您重新宣布了zoom