Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.09.2015, 18:05
Новичок на форуме
Отправить личное сообщение для Dion Посмотреть профиль Найти все сообщения от Dion
 
Регистрация: 21.08.2014
Сообщений: 6

Привязанное событие срабатывает только 1 раз при создании элемента
есть функция, которая динамически добавляет на страницу div
и к нему тут же добавляется событие "клик"
function create_div()
{
    $('<div id="new_div"></div>').prependTo('body'); // новый div
    $('#new_div').bind('click', alert('Клик!')); // новое событие
}

функция вызывается из кода тоже по клику
<span onclick="create_div();"></span>

Проблема в том, что когда элемент создаётся, тут же срабатывает и его событие, и только 1 раз. И больше не реагирует.
Когда нажимаю на Спан, то создаётся div и тут же выходит Алерт "Клик!", но созданный див уже ни на что не реагирует.

Я пробовал вместо bind использовать on, live, delegate - результат тот же. Что-то я видимо не так делаю...?

Последний раз редактировалось Dion, 27.09.2015 в 18:07.
Ответить с цитированием
  #2 (permalink)  
Старый 27.09.2015, 18:26
Аватар для sanmihan
Аспирант
Отправить личное сообщение для sanmihan Посмотреть профиль Найти все сообщения от sanmihan
 
Регистрация: 28.05.2015
Сообщений: 54

Нужно передавать функцию, а не результат функции
function create_div(){
    $('<div id="new_div"></div>').prependTo('body'); // новый div
    $('#new_div').bind('click', function(){alert('Клик!');}); // новое событие
}
Ответить с цитированием
  #3 (permalink)  
Старый 27.09.2015, 18:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Dion,
так добаьте в 'click' функцию, а не результат функции
Ответить с цитированием
  #4 (permalink)  
Старый 27.09.2015, 18:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Dion,
на всякий случай id уникально!!!
Ответить с цитированием
  #5 (permalink)  
Старый 27.09.2015, 20:25
Новичок на форуме
Отправить личное сообщение для Dion Посмотреть профиль Найти все сообщения от Dion
 
Регистрация: 21.08.2014
Сообщений: 6

а да... точно, чё-то я затупил
Извиняюсь )))
Всем спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
событие scroll только 1 раз Hadouken Общие вопросы Javascript 6 29.12.2014 11:14
Новые элементы в блоке при событие onmouseleave b14de Events/DOM/Window 2 29.05.2014 07:56
Как отменить событие onchange при отправке формы? Petja Элементы интерфейса 1 10.04.2014 18:10
Окно открывается только один раз altermann ExtJS 8 22.04.2010 11:55
Не отрабатывает событие onmouseout при внедрении нового слоя ilshat Элементы интерфейса 3 28.07.2008 06:27