Задача та же, что и в этом сообщении: захватить щелчок по ссылка и предотвратить поведение браузера по умолчанию. Ответ там был такой:
Шаблон:
<a on-click='sayHello' href="#">Activate!</button>
JS:
ractive.on( 'sayHello', function ( event ) {
event.original.preventDefault();
alert( 'Hello world!' );
});
Проблема в том, что обработчик события sayHello
не должен знать, каким было исходное событие. Весь смысл проксирования в том, что обработчик события не должен заботиться о типе исходного события. Например, меняю ссылку на кнопку, preventDefault
больше не нужно.
Итак, мой вопрос заключается в том, как я могу вызвать preventDefault до или после запуска прокси-сервера события.
Хорошим решением было бы запустить несколько прокси событий подряд (если это возможно):
Шаблон:
<a on-click='preventDefault;sayHello' href="#">Activate!</button>
Js:
ractive.on( 'preventDefault', function ( event ) {
event.original.preventDefault();
});
ractive.on( 'sayHello', function ( event ) {
alert( 'Hello world!' );
});
Это возможно как-то? Или есть другое красивое решение?