Как правильно установить обработчик
var cor = $("<div class='sky createCorrection' sky='"+id_sens+"' sortID='"+sortID+"' skyID='"+skyID+"'" + " style='position:absolute; width:"+w+"; "+left+" top:"+maxOffsetTop+"px;'>"+// "<h3>Внесите изменения в выбраный текст</h3>"+ "<form method='post' id='edit_form' action='#'>"+ "<textarea id='selected_sens"+sortID+"' name='selected_sens' cols='65' rows='10' ></textarea><br />"+ "<input type='submit' class='button_save' value='Сохранить'>"+ "<input type='button' class='button_cancel' value='Отменить'>"+ "<input type='hidden' id='id_sens' name='id_sens' value='' />"+ "<input type='hidden' name='option' value='com_wiki' />"+ "<input type='hidden' name='format' value='raw' />"+ "<input type='hidden' name='task' value='save_edit' />"+ "</form>"+ "</div>" ).appendTo($('#wrap_edit')); $('#wrap_edit').on('click', '.sky:not(form)', function(){ alert('.sky:not(form)'); }); Добрый день. Есть такой вот блок class='sky он создается динамически, в нем есть форма, так вот мне нужно что событие нажатие кнопки мыши происходило только по щелчку на блоке с классом sky, но не срабатывало когда пользователь нажимает на форму которая содержится внутри этого блока. Для установки его пытаюсь цеплять его через on на wrap_edit это блок содержит в себе все динамически добавляемые блоки sky, все бы хорошо но селектор .sky:not(form) как то не правильно отрабатывает и любой клик даже внутри формы приводит к срабатыванию обработчика. И тоже самое внутри формы есть 2 кнопки $('.button_cancel').live('click', function(e){ }); Нужно на них тоже установить обработчики так что б они вызывали обработку события клик для содержащего их блока sky |
Ну может знает кто как определить что клик был не на вложенном или на оборот на вложенном элементе не хочется как то по координатам вычислять
|
$('.sky').on_или_live,_не_имеет_знач ения('click', function(e){
твои действия }); $('.sky form').on('click', function(e){ e.stopPropagation(); return false; // чтоб если нажал на кнопку ничего не произошло }); stopPropagation предотвращает всплытие события(оно происходит от потомков к родителям), тоесть форма почувствует событие, а .sky уже нет |
Часовой пояс GMT +3, время: 03:05. |