2014-09-12 8 views
1

У меня есть сценарий, как это:Как связать событие click с элементом создается в событии click?

$(document).ready(function() { 
    $('.button').click(function() { 
     var button = document.createElement('button'); 
     $(button).addClass('button'); 
     $(button).html('Button'); 
     $(button).appendTo('.container'); 
    }); 
}); 

Пример: jsfiddle

Кнопки создается с помощью кнопки мыши не кликнул событие. Как подключить это событие, чтобы иметь возможность создавать кнопки с помощью любой кнопки?

+0

Использование делегированы события ... но если вы хотите, чтобы ссылаться на текущую функцию обработчика событий, используйте 'аргументы .callee' внутри самого обработчика zvznt. –

ответ

4

Для работы с динамически генерируемыми элементами необходимо delegate the event handler.

Событие делегирование позволяет нам присоединить одного прослушивателя событий к родительскому элементу, который будет срабатывать для всех потомков, соответствующих селектору, независимо от того, существуют ли эти потомки или добавлены в будущем.

Вы можете использовать on() метод делегирования обработчика следующим образом:

$(document).on("click",".button",function() {}) 

Updated Fiddle

Смежные вопросы