如何从fabricjs画布中删除事件监听器 [英] how to remove event listener from fabricjs canvas
本文介绍了如何从fabricjs画布中删除事件监听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用fabricjs在html5中构建交互式地图.
I am using fabricjs to build an interactive map in html5.
当DOM加载时,我通过以下方式将鼠标悬停侦听器添加到我的fabricjs画布实例中:* my_event_setter( true )*.
When the DOM loads, I add my mouseover listener to my fabricjs canvas instance by calling: *my_event_setter( true )*.
然后为了测试,我想通过调用以下命令来删除监听器:第一次myover_setter( false )*.因此,这应该删除mouseover侦听器,但不能删除.
Then for the sake of testing, I want to remove the listener once I do my first mouseover by calling: *my_event_setter( false )*. That should thus remove the mouseover listener, but it does not.
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 ) ;
}
推荐答案
我使用以下方法解决了此问题:
I solved this by using:
var canvas = fabric.Canvas.activeInstance;
canvas.__eventListeners["mouse:down"] = [];
事件位于数组中,因此可以轻松处理这些事件.
The events are in an Array so it makes it easy to handle these.
这篇关于如何从fabricjs画布中删除事件监听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文