【发布时间】:2013-09-15 05:36:44
【问题描述】:
我正在使用fabricjs 在html5 中构建交互式地图。
当 DOM 加载时,我通过调用将鼠标悬停侦听器添加到我的 fabricjs 画布实例:*my_event_setter(true)*。
然后为了测试,我想在第一次鼠标悬停后通过调用:*my_event_setter(false)* 来移除监听器。因此,这应该删除鼠标悬停侦听器,但它没有。
my_event_setter = function( toggle )
{ var lvo = { 'object:over' : function(e){ mouseover_handler( e ) } } ;
toggle ? my_fabric_canvas.on( lvo ) : my_fabric_canvas.off( lvo ) ;
}
mouseover_handler = function( e )
{ my_event_setter( false ) ;
}
【问题讨论】:
-
好收获。
.off当前不支持对象表示法(如on支持)但可能应该支持。请file a bug on github -
与此同时,清除听众的适当方法是什么……………………………… jQuery("#my_canvas_element" ).off('object:over' ...)?? .... .. .. ... .. .. ... ... ... ... ... ... ... ... jQuery(my_fabric_canvas).off('object:over ' ... )??
-
my_fabric_canvas.off('object:over', eventHandler)(确保 eventHandler 是原始参考) -
kangax ...这似乎正在工作...所以,就stackoverflow而言,这就是答案...提示,提示:)
-
我把issue提交到github了。