jQuery, чтобы переключить форму в div, предотвратить скрытие при нажатии на входы - PullRequest
0 голосов
/ 19 августа 2010

Извините, если меня об этом спросили, я не знаю, как лучше всего написать это слово, поэтому я не могу найти результат в Google.

В настоящее время у меня есть div #divForm с некоторым текстом и таблицей, котораяимеет форму внутри.В настоящее время у меня это есть, поэтому, когда вы нажимаете на div, он переключается, чтобы показать таблицу:

$("#divForm").live('click', function () {
            $(this).attr('class', 'closeForm');
            $(this).find("table.formTable").slideDown();
        });

Код, который скрывает div, выглядит следующим образом:

$(".closeForm").live ('click', function () {
            $(this).attr('id', 'divForm');
            $(this).find("table.formTable").slideUp();
        });

Это работает.Однако, поскольку в таблице / форме, которые находятся внутри элемента div, есть входные данные, щелчок по входным данным для ввода информации приводит к тому, что таблица скрывается.

Каков наилучший способ иметь его, чтобы таблица / формы скрывались при щелчке в любом месте div ИСКЛЮЧИТЬ при нажатии на ввод?

1 Ответ

3 голосов
/ 19 августа 2010

Я не уверен, что полностью понимаю ваш макет, но если .closeForm является целью клика, вы можете проверить фактическую цель события, используя .is() и :inputкак это:

$(".closeForm").live('click', function (e) {
  if($(e.target).is(":input")) return;
  $(this).attr('id', 'divForm');
  $(this).find("table.formTable").slideUp();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...