@0leg5ergeev
Самые глупые вопросы здесь задаю я

Как исключить исполнение скрипта у дочерних элементов?

В общем, есть скрипт
<script>
		$(document).ready(function(){
			var $ops = $(".fullpage");
			$(".select2-selection").click(function () {            
				 $ops.addClass('op');
			});
			
		});
		</script>


Исполняется при нажатии на элемент с классом select2-selection. так же есть обратный этому скрипт, срабатывающий по mousedown. Так вот, видимо, на дочерних элементах класса select2-selection представленный скрипт так же срабатывает, как это можно исключить?
  • Вопрос задан
  • 2016 просмотров
Решения вопроса 2
Ivanq
@Ivanq
Знаю php, js, html, css
Да конечно же он срабатывает на дочерних элементах, он ловит клик внутри всего элемента, можно так:
$(".select2-selection").click(function(event) {
     $target = $(event.target);
     if (!$target.hasClass('children')) {
         $ops.addClass('op');
     }
 });

Но лучше покажите сам html и измените вложенность, добавьте класс или ид необходимому элементу.

Или как выше указал Ivanq можно использовать такую функцию:
$("#some_id").click(function(event) { 
      event.stopPropagation();
});

Вместо $("#some_id") указать селекторы дочерних элементов, которые надо исключить, например $(".select2-selection > *")
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы