Лучший способ поймать мышку вне элемента mousedown
$('#clickableElement').bind({
mousedown: function(e)
{
console.log('mousedown on element');
$(document).bind('mouseup',function(e){
console.log('mouseup caught');
//Do some magic here
$(this).unbind('mouseup');
});
},
mouseup:function(e)
{
//mouseup within element, no use here.
}
});
я пытаюсь поймать событие mouseup из mousedown, который 's выпущен внутри или снаружи элемента. Этот код почти работает, но проблема в том, чтобы отменитьMouseUp»), который отменяет привязку других скриптов, прикрепленных к событию mouseup (jqueryui). Если unbind () не установлен, то код складывается внутри события mouseup и вызывается x количество раз, где x - это время, которое выМы находимся в собственности.
Маршрут 1: существует ли какая-то функция самоуничтожения, которая вызывает себя один раз и уничтожает?
Маршрут 2: любой способ скопировать / клонировать функцию mouseup до вставки кода, затем отсоединить, а затем установить как предыдущий?
В идеале яЯ хотел бы сохранить эту структуру кода для аккуратности, так как у меня много интерактивных элементов, поэтому привязка document.mouseup вне element.mousedown была бы грязной.
Вот'Скрипка, которую я забыл добавитьhttp://jsfiddle.net/9gFNk/