Артем Л.
11416 сообщений
#14 лет назад
Подскажите пожалуйста как быть... Ситуация такая:
Есть форма с кнопкой отправки. По умолчанию кнопка выключена. После заполнения обязательных полей становится активной и меняет стиль. При наведении на активную кнопку она должна снова менять стиль.
Код кнопки:
<p class="reg-submit-off"><input type="submit" name="submit" value="" /></p>

В функции проверки формы после заполнения делаю ей стиль активной кнопки:
$('.reg-submit-off').removeClass('reg-submit-off').addClass('reg-submit-on');

Далее хочу добавить эффект при наведении:
$(document).ready(function () 
{
validateFormReg();
$('.reg-submit-on').hover(function () { $(this).toggleClass('reg-submit-on-hover'); });
} );


Но клас reg-submit-on оно не видит и эффект не добавляется. Как быть?
Виталий О.
403 сообщения
#14 лет назад
Может дать кнопке id какой то и уже для этого айди при наведении проверять наличие класса reg-submit-on и выполнять нужные действия
Артем Л.
11416 сообщений
#14 лет назад
Спасибо за идею, помогло...
добавил
<p class="reg-submit-off" id="submit"><input type="submit" name="submit" value="" /></p>

и вот таким образом заработало
$('#submit').hover(function () { if ( $(this).hasClass("reg-submit-on") ) $(this).toggleClass('reg-submit-on-hover'); });     
Евгений О.
2989 сообщений
#14 лет назад
Можно и только классами обойтись
$('.reg-submit-off').removeClass('reg-submit-off').addClass('reg-submit-on').hover(function () { $(this).toggleClass('reg-submit-on-hover'); });


Или перенести обработчик в события onmouseout/onmouseover.
Артем Л.
11416 сообщений
#14 лет назад
Elosoft, Ваш способ не пойдет... Тогда не будет неактивной кнопки...
Дмитрий Засядько
87 сообщений
#14 лет назад
Как по мне, то лучший вариант - это вариант с id. А можно сделать ещё проще, через css псевдоселектор :hover. Правда он не поддерживается ие6. Ну и ещё способ - в jquery есть функция live, которая связывает обработчики даже с несуществующими элементами.