Как имитировать .click
Всем привет!
Помогите пожалуйста разобраться с кодом else { $(document).ready( function() { $('#spisok > input').click(function (){ $('#container > div').hide(); var i=$(this).data('id'); $('#d'+i).fadeIn(); }); } ); form.submit(); } <p id="spisok"><input data-id='2' type=submit class="btn_submit" value='Продолжить'></p> Этот код работает если только 2 раза нажать на 'Продолжить', а надо чтобы сразу. |
Во-первых, проблема в том, что $(document).ready( ) у вас стоит внутри условия, а должна быть непосредственно в теле тега script.
Получается, что есть какое-то условие (которое вы не полностью дали), которое судя по всему выполняется по нажатию кнопки. Вот и получается, что сначала, после первого клика, объявляется функция, которая внутри $(document).ready() написана, а потом, после второго, она выполняется. Если непонятно, что нужно исправить, то дайте хотя бы побольше кода. ) |
(function( $ ){ $(function() { $('.rf').each(function(){ var form = $(this), btn = form.find('.btn_submit'); form.find('.rfield').addClass('empty_field'); function checkInput(){ form.find('.rfield').each(function(){ if($(this).val() != ''){ $(this).removeClass('empty_field'); } else { $(this).addClass('empty_field'); } }); } function lightEmpty(){ form.find('.empty_field').css({'border-color':'#d8512d'}); setTimeout(function(){ form.find('.empty_field').removeAttr('style'); },500); } setInterval(function(){ checkInput(); var sizeEmpty = form.find('.empty_field').size(); if(sizeEmpty > 0){ if(btn.hasClass('disabled')){ return false } else { btn.addClass('disabled') } } else { btn.removeClass('disabled') } },500); btn.click(function(){ if($(this).hasClass('disabled')){ lightEmpty(); return false } else { $(document).ready( function() { $('#spisok > input').click(function (){ $('#container > div').hide(); var i=$(this).data('id'); $('#d'+i).fadeIn(); }); } ); } }); }); }); })( jQuery ); <p id="spisok"><input data-id='2' type=submit class="btn_submit" value='Продолжить'></p> |
То, что вы предоставили ни разу не работает. ))
Остается только догадываться, где элементы с классами rf, rfield и с ИД container, d1 находятся и как они должны взаимодействовать. Весь JS - это хорошо, но когда нет HTML, то это становится похожим на прочтение инструкции по эксплуатации с кучей неизвестных терминов без самого устройства, которое собираемся эксплуатировать. Например это: $('.rf').each(function(){ var form = $(this), Понятно, что перебирает все элементы с классом rf и потом присваивает их поочередно переменной form. Много форм на странице? Так может проще сделать onsumit для форм (возможно это значительно сократит код), чем отслеживать клик по кнопке в такое большой лесенке функций? Так же непонятно зачем сделано это: Обработчик клика по кнопке btn = form.find('.btn_submit'); btn.click(function(){ }); А внутри него вставлен еще один обработчик клика по ней же: $('#spisok > input').click(function (){ }); Давайте-ка весь код или ссылку на страницу. |
Сперва они имитируют клик, затем болезнь, а потом оргазм имитировать начнут :D
Чувствовать его нужно, чувствовать! Я про клик, конечно :) |
Часовой пояс GMT +3, время: 04:51. |