Форум → Программирование → 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 минут
Жить хорошо, а такие поршни как ты портят воздух
Пожалуйста, авторизуйтесь, чтобы написать комментарий!