unbinding hover () - не нормальный случай - PullRequest
0 голосов
/ 08 июля 2011

У меня есть jQuery, который, когда документ готов, привязывает событие наведения мыши с обработчиком к элементу с class="widget-box". Проблема заключается в том, что, как только документ готов, обработчик события наведения на экран связывается, но когда пользователь нажимает кнопку на странице, используется ajax, так что часть страницы перезагружается, а затем документ готов вызывает событие наведения снова к тому же элементу. Я не хочу, чтобы это происходило, и хочу, чтобы событие hover связывалось один раз. Я пытался отменить привязку hover () всякий раз, когда готовый документ вызывается снова с помощью unbind ('mouseenter') и unbind ('mouseleave'), но каким-то образом это не работает для удаления hover, который уже связан У кого-нибудь есть идеи как это исправить?

Спасибо! * * 1004

Ответы [ 2 ]

1 голос
/ 08 июля 2011

Возможно, вы сделали что-то не так. Сделай так:

$(".widget-box").unbind('mouseenter mouseleave').bind('hover', ...);

Надеюсь, это поможет. Приветствия

0 голосов
/ 08 июля 2011

попробуйте использовать метод .live ():)

для квалификации:

почему вы загружаете один и тот же JavaScript дважды?если вы загружаете его только один раз и используете .live вместо .hover, вы все равно можете прикреплять свои события к соответствующим элементам без необходимости повторного запуска js.оборачивая ваш код в что-то вроде:

if(document.myScriptIsLoaded!=true){
    document.myScriptIsLoaded=true;
    //put your document ready here
}
...