JQuery не выбрать? - PullRequest
       2

JQuery не выбрать?

0 голосов
/ 22 марта 2010

у меня есть событие click для $ ('# blah div'). У div есть текст внутри него (не внутри div, span, p и т. д.) и текстовая область. Текстовая область также вызывает событие, как сделать так, чтобы оно запускалось только тогда, когда я щелкаю текст и игнорирую текстовую область?

Ответы [ 2 ]

1 голос
/ 22 марта 2010

Альтернативой предотвращению события является работа с ним:

$("#blah div").bind("click", function(e) {
    if (e.target.type !== "textarea") {
        alert("Hello.");
    }
});

Вы можете проверить, какая цель события была внутри вашей функции обработчика событий. Это означает, что вы можете предпринять дальнейшие действия, только если целью является что-то кроме textarea.

1 голос
/ 22 марта 2010

Останови пузырь, вот так:

$('#blah div').click(function() {
  alert("Div click");
});

$('#blah div textarea').click(function(e) {
  e.stopPropogation();
});

Указывает отменить всплывающее окно события, когда щелчок возник в <textarea>. Обычно щелчок происходит на <textarea> и продолжает всплывать к родителям и запускать их обработчики щелчков ... это предотвращает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...