jQuery not (), игнорируя определенные именованные элементы - PullRequest
0 голосов
/ 20 сентября 2011

надеюсь, что вы можете мне помочь!

У меня есть форма, которая имеет большое количество inputs. Эти входные данные имеют начальный класс inputLight, в котором используется светло-серый текст. У меня есть следующий код jQuery, чтобы на focus изменить цвет текста на inputDark и на blur чтобы вернуть его обратно:

$('input').focus(function(){
$(this).attr('class', 'inputDark');})
.blur(function() {$(this).attr('class', 'inputLight');

Это абсолютно работает. У меня также есть следующий код для удаления значения input при его первом выборе.

/* First time only, delete default text*/
$('input').one('focus', function(){
$(this).val('');});

Это тоже работает. Куда я иду с этим? Ну, у меня есть две кнопки input, одна для отправки формы и одна для ее очистки - но моя проблема не в проверке.

Когда пользователь нажимает любую кнопку, она, конечно, удаляет ее значение. И меняет цвет текста.

Я не хочу, чтобы какое-либо событие происходило с этими кнопками с именами Submit Button и Clear Button.

Я пытался использовать:

/* Toggle gray/black text */
$('input').not('input[name=Submit Button]').not('input[name=Clear Button]').focus(function()     {$(this).attr('class', 'inputDark');}).blur(function() {$(this).attr('class', 'inputLight');   });

и

/* First time only, delete default text*/
$('input').not('input[name=Submit Button]').not('input[name=Clear Button]').one('focus', function(){
$(this).val('');
});

Извините за плохую разметку, я знаю, она должна выглядеть ужасно.

При наличии функций .not() ни одна из этих функций не работает, но кнопки работают. Убери .not() и эффекты сработают, но кнопки сойкают.

Может кто-нибудь помочь мне здесь?

1 Ответ

2 голосов
/ 20 сентября 2011

не будет $('input:text') более продуктивным?

$('input:text').focus(function(){
$(this).attr('class', 'inputDark');})
.blur(function() {$(this).attr('class', 'inputLight');

/* First time only, delete default text*/
$('input:text').one('focus', function(){
$(this).val('');});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...