我正在尝试为此代码添加一个确认框:
$('.widget .remove').live('click', function() { //Remove widget from layout
$(this).closest('.widget').fadeOut('fast', function() {
$(this).remove();
saveLayout(false);
});
return false;
});
这就是我所做的:
$('.widget .remove').live('click', function() { //Remove widget from layout
jConfirm('Are you sure you want to remove this widget?','Are you sure?',function(r){
if(r)
{
$(this).closest('.widget').fadeOut('fast', function() {
$(this).remove();
saveLayout(false);
});
return false;
}
});
});
在我开始使用它之前,删除功能运行良好,现在它没有做任何事情。我知道if(r)正在执行,因为我在测试时在代码中添加了测试警报(“messages”)。我不太了解jquery(或java脚本)知道出了什么问题。帮助
答案 0 :(得分:1)
主函数中的这个与jConfirm中的这个不同。
var $this=$(this);
然后替换jConfirm中的每个(this)解决了它