Не работает .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' ?? |
Jest,
Нарисуйте Ваш код полностью, вместе с HTML отобразите элементы: #changed #body И как Вы определяете - что кликаете по элементу #pole Он у Вас никак не выделен(*по крайней мере в выложееном коде |
<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), но уже изменённый. Вот как-то так) |
Спасибо за помощь :) Проблему, кстати, решил.
|
Часовой пояс GMT +3, время: 12:16. |