2012-02-21 4 views
4

Я делаю страницу на основе изотопа. Основной дисплей прокручивается по горизонтали, и я применил действие mousewheel по умолчанию, используя jquery.mousehweel script. Я хочу вернуть действие по умолчанию пользователю при открытии статьи и остановить его от прокрутки по горизонтали, но я не могу понять, как это сделать.Как отключить jquery.mousewheel временно

Вот jsfiddle ссылка, которая дает пример:

http://jsfiddle.net/DJVX2/529/

При нажатии на поле, он получает очень высокий, но если вы используете колесика мыши все еще прокручивает сторону страницы в сторону. Я бы хотел, чтобы пользователь прокручивал вертикально только в том случае, когда ящик высок.

Спасибо за помощь!

примечание: если ваша мышь не находится над # контейнером div, вы уже сможете использовать мышь для прокрутки по горизонтали. Проблема в том, что мышь находится над #makeMeScrollable div, который содержит все поля

ответ

2

Вы должны отвязать ту же самую функцию. В вашем коде вы отключаете другую функцию с аналогичным размером. Чтобы использовать ту же самую функцию, сначала определите ее и сохраните ее, а затем используйте ссылку на эту переменную как в bind, так и в unbind. См. http://jsfiddle.net/DJVX2/530/ для обновления вашей скрипты, показывающей, что это работает в вашем контексте. Основная идея заключается в следующем:

// Define the callback 
var callback = function(ev) { ... }; 

// Bind the callback 
$(selector).bind('event', callback); 

// Unbind the callback 
$(selector).unbind('event', callback); 

По JQuery 1.7 (самая новая версия на момент написания этого документа), в предпочтительном способе события связывания является использование on и off как это:

// Bind the callback 
$(selector).on('event', callback); 

// Unbind the callback 
$(selector).off('event', callback); 

(Обратите внимание, что вы также можете передать еще один аргумент для их делегирования. См. the docs.

+1

Или 'on() | off()' ... – elclanrs

+0

Да, @elclanrs правильно, что 'on' и 'off' являются предпочтительными для события bindi ng в новой версии jQuery. –

+0

@elclanrs, я обновил свой ответ, чтобы показать предпочтительный метод. –

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