Я полагаю, что другие разработчики столкнулись с этим раньше. У нас есть большая база кода со многими компонентами этой модели следующие:закрытие HTML-шаблона, по большому проекту
$('#elm').on('click',function($e){
$e.stopPropagation();
//... do stuff (i.e. Open something);
});
$('html').on('click',function($e){
//... do oposite of stuff (i.e. Close something);
}
Наша проблема есть, все stopPropagation-х по всему сайту останавливают закрытие других компонентов. Нам действительно нужен механизм блокировки обработчика кликов для этого компонента, но не для других.
Я ищу решение, которое проще всего реализовать прямо сейчас, чтобы исправить наши ошибки и для нашей команды разработчиков Multi-разработчиков в будущем.
+1 потому что это отличная идея! – pattyd
Будет ли '$ e.preventDefault();' (http://api.jquery.com/event.preventDefault/) делать то, что вам нужно? –
К сожалению, это останавливает действие по умолчанию, которое обычно выполняет браузер. Мне нужно обнаружить клики на элементе HTML, который не был первоначально из этого элемента. Я написал плагин: https://github.com/krismeister/jQuery.notMyEvent, но меня все еще интересует, что люди рекомендуют. – LessQuesar