У меня возникла ситуация, когда у узла (Raphael rect) есть привязка к событию.Пользовательское контекстное меню в jQuery
r4.drag(dragMove, dragStart, dragStop);
В обработчике dragStop я различая сопротивления и RightClick событий
if (editLabelFlag == false) {
if (event.which == 3) {
event.preventDefault();
$('#contextmenu').slideDown('fast').delay(1000).slideUp();
// code for
}
} else {
// drag code
}
я устанавливаю editLabelFlag истина в обработчике dragMove различать сопротивление и нажмите Чтобы прекратить показ контекстного меню браузера Я дал event.preventDefault().
Проблема, с которой я сталкиваюсь, заключается в том, что это происходит безупречно в первый раз и для всех последующих щелчков правой кнопкой мыши на узле я получаю только контекстное меню браузера. Я проверил в Firebug и вижу, что div contextmenu всегда остается отображенным, и только в первый раз он становится блоком отображения. Я попытался использовать return false вместо event.preventDefault, но это показывает мое меню под меню браузеров.
Это предотвращение проблемы, вызвавшей эту проблему? Укажите
Это сообщение может быть полезно: http://stackoverflow.com/a/706728/239380 – keegan3d
ни один из ответов или вопрос не относится к событию не обрабатывается после того, как в первый раз! То, что делает мой код, похоже на последний ответ, отправленный Саймоном – kavita