Как имитировать .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, время: 00:21. |