2014-09-15 2 views
0

Я использую theJit как SpaceTree визуализировать некоторую информацию (Кто бы догадался, что ...)Стоп theJit перетаскивания при выходе мыши холст

Проблемы заключается в том, когда пользователи панорамирования графика и перетаскивая мышь снаружи холста jit не узнает его, и продолжает перетаскивать. Когда пользователь приходит назад в область брезента все еще в режиме перетаскивания и продолжает панорамирование. Это поведение также является наблюдаемым в их Space-Tree-Example.

(Просто чтобы прояснить - я панорамирование всего графа, я не перетаскивая узел в какое-то целевом месте ...).

Я могу связать с $ («# контейнера») MouseLeave() через jQuery, но как мне сказать jit, чтобы остановить перетаскивание?

(Обработчики MouseOver и MouseLeave предоставляемых J (jit.Events. *) Сам по себе связаны с отдельными узлами и, таким образом, не очень полезно в данном случае)

Кто-нибудь есть идея?

Cheers,

Corelgott_

ответ

0

я, наконец, понял, способ сделать это ... определенно не самый чистый/ценное способ сделать это, но это работает, по крайней мере:

Когда мышь оставляет поле jit canvas. Я имитирую полное событие мыши и отправляю его в jit.

Используя этот код «How to simulate a mouse click using JavaScript?», как это:

$('#infovis').mouseleave(function(e) { 
     simulate($('canvas')[0], 'mouseup')    
    }); 

он останавливается, когда мышь существует инфо-вязкостных < ДИВ >

Хотелось бы надеяться, что спасает кому-то какое-то время в будущем!

Cheers,

Corelgott

Смежные вопросы