我正在使用fabricjs在html5中构建交互式地图.
当DOM加载时,我通过调用:*my_event_setter(true)*将我的鼠标悬停监听器添加到我的fabricjs画布实例.
然后为了测试,我想在我第一次鼠标悬停时通过调用:*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 ) ;
}
Run Code Online (Sandbox Code Playgroud)
此示例显示如何在触发 mouseup 时删除 mousemove:
canvas.on('mouse:up', function () {
canvas.off('mouse:move', eventHandler);
});
Run Code Online (Sandbox Code Playgroud)
我通过使用以下方法解决了
var canvas = fabric.Canvas.activeInstance;
canvas.__eventListeners["mouse:down"] = [];
Run Code Online (Sandbox Code Playgroud)
事件在一个数组中,因此可以轻松处理这些事件.
| 归档时间: |
|
| 查看次数: |
7153 次 |
| 最近记录: |