У меня есть кнопка редактирования, которая при нажатии вызывает три события ниже. У него (отредактируйте форму) также есть ссылка на отмену, которая при щелчке вызывает второе событие ниже. Как я могу гарантировать, что значение PrevContent
доступно в событии отмены? Пользователь может нажимать на любое количество соответствующих ссылок редактирования за один раз.Передача переменной между событиями
$('.js-profile-edit').live('click',function(){
var TrBlock = $(this).closest('tr');
var PrevContent = TrBlock.html();
var colspan = TrBlock.parent().prev().find('a:first').first().data('span');
$.ajax({
url : $(this).attr('href'),
type : 'GET',
success : function(response){
TrBlock.html('<td colspan="'+colspan+'">'+response+'</td>');
},
error : function(jqXHR, textStatus, errorThrown){
uiAlert({message : 'Something Broke. Try again later'})
}
});
return false;
});
$('.js-profile-edit-cancel').live('click',function(){
$(this).closest('tr').html(PrevContent);
return false;
});
Просто не по теме, '.liv e() 'устарел после jQuery 1.7. Я использовал '.delegate()' с тех пор: http://api.jquery.com/delegate/ –
@ spryno724, так что делегировать падение взамен на живую. я попытался, но это не сработало – aWebDeveloper
Для вашего случая вы бы использовали что-то вроде '$ ('body'). delegate ('. js-profile-edit', 'click', function() {})' –