使用鼠标悬停和功能" foo"例如。 "这"是svg元素。
this.mouseover(foo); // adds handler
this.unmouseover(foo); // removes handler
但如果我正在做的话
this.mouseover(function(parameter){foo(parameter);}); // say I need to pass a parameter
我可以删除此处理程序吗? 谢谢!
答案 0 :(得分:0)
没有;你没有对匿名函数的引用。
解决此问题的一种方法是在mouseover
电话上方声明功能:
var param = parameter;
var foobar = function(){foo(param);
this.mouseover(foobar);
this.unmouseover(foobar);
答案 1 :(得分:0)
我不推荐任何方式。
我必须,有一种方法可以从内部访问匿名函数。这已被弃用,无法在严格模式/ ES5 +中使用:
var anonymousFn = null;
this.mouseover(function(parameter) {
foo(parameter);
anonymousFn = arguments.callee;
// now anonymousFn has a reference to the annymous function
});
请参阅:arguments.callee