Я пишу Ajax-приложение, которое использует функцию обратного вызова для добавления карты в руку игрока. объект создан правильно, и меню для каждого объекта также создано правильно.
при создании объекта DOM в функции обратного вызова, которую я использую для добавления объекта, у меня есть некоторый код, подобный этому:
$("#card"+cardNum).live('click',function(){
$('#cardDiag'+cardNum).dialog('open');
}));
работает, когда создается первая карта, но после того, как я возьму вторую карту, нажатие на первую заставляет ее открыть меню второй карты. и после того, как вторая карта сыграна (и я удаляю ее меню), нажатие на любую карту ничего не делает, пока новая карта не будет извлечена снова.
это в основном то, что я делаю в обработчике обратного вызова для ajax.
function displayDrawnCardInHand(data){
var newCard = document.createElement('div');
//set some stuff on newCard
//and then add the cardyourHand = document.getElementById('hand'); yourHand.appendChild(newCard);
var cardMenu = document.createElement('div'); cardMenu.id= 'cardDiag' + data[cardNum];
//and then add the cardMenu to the DOM and call the click hander