Форум → Программирование → JavaScript → mouseover, blur или что-то в этом роде
mouseover, blur или что-то в этом роде
-
Что-то никак не соображу, как сделать следующую вещь.
Хочу чтобы как в Контакте, при клике на поле открывалось поле для ввода текста и кнопка отправить, а при клике в любую область сайта эта форма закрывалась и переходила в начальное состояние. В общем как поле для комментов на стене.
Собственно единственное. что я никак не соображу, как сделать чтоб поле в начальное состояние возвращалось. Можно через mouseover дива, в котором всё это дело находится, но мне это не нравиться. Как я понимаю, при клике в любую область должно определяться не нахожусб ли я в том поле для комментов, и если нет то закрывать его. Но как это сделать я хз :)
Надеюсь понятно написал что мне нужно )))
Выручайте :)from TRIAL with LOVE -
23 августа 2011 г. 12:50, спустя 18 минут 47 секунд
открывай слой невидимый, на котором будет лежать форма, по клике на этом слое - закрываешь и слой и формуYou can be anything you want to be. Just turn yourself into anything you think that you could ever be. -
23 августа 2011 г. 13:01, спустя 11 минут 6 секунд
Как вариант, но мне чет не нравиться :) Щас пытаюсь как-нибудь через parent или closest сделать но не до конца понимаю как они работают.
В итоге получается, что надо определить, является ли тот объект, на который я кликнул, дочерним моей формы или нет, и если нет соответственно убираем форму.
Может кто подскажет как такое организовать? 6) Как проверить является ли объект дочерним или нет? :)from TRIAL with LOVE -
23 августа 2011 г. 13:50, спустя 48 минут 57 секунд
Сделал вроде :)
Если кому интересно выглядит это следующим образом:
HTML<div id='user_board_div'> <textarea name='user_board' class='user_wall_textarea'>Оставьте свое сообщение…</textarea><br> <p><input type='submit' name='send' value=' Написать на стене '></p> <input type='hidden' name='action' value='user_board'> <input type='hidden' name='to' value='$user_id'> </div>
jQuery// Показать форму ответа $(function() { $(".user_wall_textarea") .focus(function() { $(this).val(''); $(this).removeAttr("class"); $(this).addClass("user_wall_textarea_a"); $("#user_board_div p").show(); }); }); $(document) .bind("click", function (e) { if($(e.target).closest("#user_board_div").attr("id") != "user_board_div") { $("#user_board_div textarea").val('Оставьте свое сообщение…'); $("#user_board_div textarea").removeAttr("class"); $("#user_board_div textarea").addClass("user_wall_textarea"); $("#user_board_div p").hide(); } });
CSS.user_wall_textarea { width: 475px; height: 24px; padding: 4px; font-size: 12px; font-style: italic; color: #999; margin-bottom: 10px; } .user_wall_textarea_a { width: 475px; height: 66px; padding: 4px; font-size: 12px; margin-bottom: 10px; } #user_board_div p { text-align: right; display: none; }
from TRIAL with LOVE -
18 августа 2012 г. 23:21, спустя 361 день 9 часов 30 минут
Жить хорошо, а такие поршни как ты портят воздух
Пожалуйста, авторизуйтесь, чтобы написать комментарий!