Я хотел бы автоматически подавлять события кликов, когда ссылка href является хешем (#). Я не хочу останавливать событие с помощью e.preventDefault() в каждом представлении.
Как вы можете остановить события щелчка во всем приложении для # hrefs?
Я хотел бы автоматически подавлять события кликов, когда ссылка href является хешем (#). Я не хочу останавливать событие с помощью e.preventDefault() в каждом представлении.
Как вы можете остановить события щелчка во всем приложении для # hrefs?
Интересный вопрос. Очевидно, что магистральная маршрутизация запускается до поведения по умолчанию. Что вам нужно сделать, так это вставить обработчик событий, который срабатывает между магистральной маршрутизацией и поведением по умолчанию, а затем e.preventDefault()
.
Я считаю, что порядок выполнения обработчиков событий зависит от порядка, в котором они определены. Так что немного поиграйте с этим. Вы можете использовать следующее для проверки массива обработчиков событий: $(window).data('events');
(я предполагаю, что вы используете jQuery?)
preventDefault
прямо в конце этого скрипта. По крайней мере стоит попробовать.
- person wanovak; 26.07.2012