Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2012, 17:27
svs svs вне форума
Интересующийся
Отправить личное сообщение для svs Посмотреть профиль Найти все сообщения от svs
 
Регистрация: 25.04.2012
Сообщений: 18

Клик по блоку. Исключить элементы.
Всем привет ))

есть код
this.element.closest('form').on('click', function () {
alert(1);
});

Содержимое всей страница в теге ФОРМ.
Тоесть при клике по любому элементу страницы выводится алерт.
А как исключить input[type=submit] ?

Код :
this.element.closest('form').find(':not(input[type=submit])').on('click', function () {
alert(1);
});
Не работает...
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2012, 17:36
Аватар для zlodeeev
Кандидат Javascript-наук
Отправить личное сообщение для zlodeeev Посмотреть профиль Найти все сообщения от zlodeeev
 
Регистрация: 11.07.2012
Сообщений: 113

Вечная морока с этим тоже. Я делаю так: вешаю событие на клик по всему document и событие на клик по элементу который надо отделить. Потом в обработчик клика по элементу добавляю изменение переменной, например submit_click = true, что позволяет мне выделить клик по элементу. А в обработчик клика по document пишу само действо при клике вне элемента(т.е. клику в любой части страницы кроме выделенного нами) с проверкой этой самой переменной if(submit_click){*значит клик по кнопке был и ничего делать не нао*} else {*делаем то, что необходимо при клике вне элемента*}, и в конце прибавляю изменение переменной submit_click = false...
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2012, 22:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<form onsubmit="return false">
<input type="text"/>
<input type="submit"/>
</form>
<script type="text/javascript">
$("form *").not("[type='submit']").on('click', function () {
 alert(1);
});
</script>

Последний раз редактировалось Deff, 16.07.2012 в 22:52.
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2012, 22:43
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Deff
:not[type='submit']
это шо за псевдоселектор? впервые вижу. Даже для джуквери думаю он будет не знаком
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2012, 22:45
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

<form>
    <input type="text" />
    <input type="text" />
    <input type="submit" />
</form>
<script>
    alert( document.querySelectorAll('form :not([type="submit"])').length );
</script>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть/показать элементы в зависимости от значения select AnyKeyLeft Элементы интерфейса 12 16.07.2014 16:26
сломался клик средней кнопкой Gvozd Сайт Javascript.ru 8 08.06.2012 17:57
Оnmouseout срабатывает при наведении на дочерние элементы lancer jQuery 0 31.03.2012 08:22
Как при быстром многократном клике по кнопке обрабатывать только первый клик battrack jQuery 3 22.03.2012 10:47
mouseout: Определить дочерние элементы Papa Общие вопросы Javascript 3 03.02.2010 20:29