2012-01-27 4 views
1

Как связать событие с объектом jquery без струй?связать событие перед добавлением объекта jquery

Пример мой DIV является:

var $div = $("<div>my div</div>"); 

Я хочу связать щелчок на этом не оказанной DIV, а затем распечатать его на DOM, что-то вроде:

$div.click(function(){alert("hello")}); 
$(body).append($div); 

ТНХ

ответ

3

Ваш код почти правильный - вы просто забыли некоторые котировки вокруг body:

var $div = $("<div>my div</div>"); 
$div.click(function(){alert("hello")}); 
$('body').append($div); 

Вместо $('body') вы можете также использовать $(document.body)

+1

Это всегда гарантированно работать? Почему я могу привязать событие к элементу, еще не находящемуся в DOM - как это работает внутри? – Flash

+1

Это уже элемент DOM. Только пока не часть дерева документа. Но событие связано с этим элементом, а не с документом, поэтому это не имеет большого значения. – ThiefMaster