Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2012, 13:23
Новичок на форуме
Отправить личное сообщение для Jest Посмотреть профиль Найти все сообщения от Jest
 
Регистрация: 14.06.2012
Сообщений: 3

Не работает .click()
Здравствуйте! Столкнулся спроблемой: создав js'ом некий div, не могу обработать далее нажатие на этот созданый див.
$(document).ready(function(){
		var ln; var text;
		
		$("#changed").click(function () {
		  $(this).hide();
		  $("<div class='hz' id='pole'></div>").prependTo($("#body")); //вот создание того дива
		  $("<input type='text' id='save1' class='save1'>").prependTo($(this).parent()).focus();
		});
		
		
		$("#pole").click(alert("Любой текст"));
		
	 });

В таком варианте код
$("#pole").click(alert("Любой текст"));
обрабатывается почему-то сразу при загрузке страницы, даже когда объект #pole ещё не был создан.

Так же я пробовал использовать .live(), но ничего не вышло, это выглядело примерно так:
$('#pole').live("click".poleclose(););
		
		function poleslose(){
			alert("Любой текст");
		}

и мой JS код переставал работать вообще.

Так вот: как нормально обработать событие click для созданного дива с id='pole' ??
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2012, 13:47
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Jest,
Нарисуйте Ваш код полностью, вместе с HTML

отобразите элементы:
#changed
#body
И как Вы определяете - что кликаете по элементу #pole
Он у Вас никак не выделен(*по крайней мере в выложееном коде
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2012, 14:15
Новичок на форуме
Отправить личное сообщение для Jest Посмотреть профиль Найти все сообщения от Jest
 
Регистрация: 14.06.2012
Сообщений: 3

<body id='body'>
	
	<table width="70%" height="100%" align="center" border="0">
		<tr class="top_block">
			<td colspan="2">
				<div class="top_bg"><div><span class="big" id="changed">Название сайта</span>И т.д....


Суть в том, чтобы при нажатии на надпись (#changed) появлялся div (#pole), а заместо надписи, на которую нажали, появляется текстовое поле, с этой надписью. Суть div'a #pole в том, чтобы залить весь документ, позади появившегося текстового поля, полупрозрачно-белым цветом.
Если надо, вот стиль того дива:
div.hz{
	background-color: rgba(255,255,255,0.7);
	position: absolute;
	top: -10%;
	left: -10%;
	height: 110%;
	width: 110%;
	z-index: 1;
}

Это всё реализовать мне удалось, но я хочу чтобы при нажатии в любую точку за пределами текстового поля (т.е. при нажатии на div #pole) div #pole изчезал, текстовое поле тоже исчезало, и на его месте появлялся текст (на который надо было нажать сначала #changed), но уже изменённый. Вот как-то так)
Ответить с цитированием
  #4 (permalink)  
Старый 17.06.2012, 18:13
Новичок на форуме
Отправить личное сообщение для Jest Посмотреть профиль Найти все сообщения от Jest
 
Регистрация: 14.06.2012
Сообщений: 3

Спасибо за помощь Проблему, кстати, решил.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
в содержимом окна FancyBox не работает событие .click() rafic jQuery 4 01.11.2011 16:59
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59