Событие клика не запускается после добавления промежутков - PullRequest
1 голос
/ 09 февраля 2011

Этот код не работает должным образом:

    function makeToken()
    {
    var $span = $("<span>new</span>");

    $span.bind('click',function(){
        alert('test');
    })


    return $span;
}

$('h1, #content p, #content h2').after(makeToken());

Элементы Span появятся после всех этих элементов ('h1, #content p, #content h2'), но когда я щелкаю по интервалам, событие click не запускается. Почему бы и нет? Какое решение?

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

Используйте live() вместо bind().

0 голосов
/ 09 февраля 2011

Клон добавленного вами элемента <span> добавляется. Это должно сделать .clone(true), поэтому обработчики также будут клонированы.

Выглядит как ошибка, но, похоже, исправлено в jQuery 1.5.

Пример: http://jsfiddle.net/7PUew/1/

Вы можете использовать делегирование событий вместо прямой привязки, но для лучшего подхода потребуется дополнительная информация.

...