问题在于:
我有一个函数,它不会返回任何内容......它被称为:
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;
}
}
答案 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