Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   проверить клик при потере фокуса (https://javascript.ru/forum/jquery/14423-proverit-klik-pri-potere-fokusa.html)

TavRox 16.01.2011 01:10

проверить клик при потере фокуса
 
буду благодарен за помощь
вообщем задача такая
к примеру ест ьформочка в которой текстполе(textarea)
если поле потеряло фокус то скрывается див с этим полем и с кнопкой отправки формы
как сделать так чтобы если фокус потерялся при клике на кнопку то выполнялась функция которая происходит по клику данной формы
ломаю голову уже все перепробовал
как видите в коде уже даже сделал задержку скрытия чтобы отправка случилась

вот кусок кода
#divAddTextArea - див в полем и кнопкой
#addcomText -поел текста
#addcom - кнопка
#divAddComm - див при клике на который он скрывается и открывается формочка

Код:

$('#divAddComm').click(function(){
    $('#divAddComm').hide();
    $('#divAddTextArea').show();
   
    $('#addcomText').focus();
   
    $('#addcomText').blur(function(){
________________________         
так скрывает но не отправляет
        $('#divAddComm').show();
        $('#divAddTextArea').hide();
________________________
чтобы при потере фокуса но при клике отправляло
        function skrut(){
        $('#divAddComm').show();
        $('#divAddTextArea').hide();
        }
        setTimeout(skrut,100);
_________________________
    });
});

$('#addcom').click(function(){
    var addcomidp = $('#addcomidp').val();
    var addcomauthor = $('#addcomauthor').val();
    var addcomText = $('#addcomText').val();
    var addcomuser_id = $('#addcomuser_id').val();
    addComm (addcomidp,addcomauthor,addcomText,addcomuser_id);
    });       
function addComm (el1,el2,el3,el4){
    $.ajax({
                        url: "comment.php",
                        type: "POST",
                        data: {idp: el1, author: el2, text: el3, user_id: el4},
            success: function (html) {$("#commentares").html(html);
            $('#divAddComm').show();
            $('#divAddTextArea').hide();
            $('#addcomText').val('');
            }
                        });}


Nightmare 16.01.2011 01:38

ниче не понял

TavRox 16.01.2011 02:35

ну смотри
есть еткстовое поле
textarea
на нем фокус да?
если фокус теряет поле то оно скрывается
но надо сделать так чтобы кликая на определенную кнопку фокус не терялся

x-yuri 16.01.2011 04:48

подожди, т.е. пользователь щелкает по ссылке "Добавить комментарий". Она заменяется на textarea. Пользователь вводит комментарий. А дальше что?

Сергей Чикуёнок, Кривое зеркало
смотреть хотя бы с 21:10

TavRox 16.01.2011 17:12

получает фокус текстареа,вводишь сообщение, если фокус теряется то скрывается текстареа, но надо сделать так чтобы если кликаешь по попределенной кнопке то текстареа не скрывалась

Matre 16.01.2011 18:02

$(document).click(function (e){
if( e.target.id != 'addcomText' && e.target.id != 'addcom')
$('#addcomText').hide();
});

TavRox 16.01.2011 18:59

спасибо получилось
немножко подделал еще под свои нужды
$(document).click(function (e){
                    if( e.target.id != 'addcomText' && e.target.id != 'addcom'&& e.target.id != 'divAddChat' && e.target.className != 'smilikii')
                    {$('#divchatTextArea').hide();
                    $('#divAddChat').show();}else if(e.target.id == 'divAddChat'){
                        $('#divchatTextArea').show();
                    }
                    });


а как сделать чтобы еще на клас не реагировало я сделал но чтото оно не определяет клик этот

TavRox 17.01.2011 13:03

подскажите плиз как класс туда втулить, className не действует


Часовой пояс GMT +3, время: 10:13.