题
我有这个功能可以整理图像列表,当我按下#shuffle按钮时,我想触发消息,如果第二次确认,我将不想再问!
如何编码?
$('#shuffle').click(function(){
if(confirm('This will shuffle all your bla bla bla')){
$("#upimagesQueue li").shuffle();
}
});
解决方案
您可以使用这样的变量:
var confirmed = false;
$('#shuffle').click(function(){
if(confirmed || confirm('This will shuffle all your bla bla bla')){
$("#upimagesQueue li").shuffle();
confirmed = true;
}
});
这首先是确认未被确认,但第一次是正确的。这意味着 condition1 OR condition2
在你的 if()
是真的,因此确认不会再弹出。
或者,您可以使用 .data()
为此存储变量:
$('#shuffle').click(function(){
if($(this).data('confirmed') || confirm('This will shuffle all your bla bla bla')){
$(this).data('confirmed', true);
$("#upimagesQueue li").shuffle();
}
});
其他提示
这是一种更好可读的方法
$('#shuffle').bind('click', function(event){
if(confirm('are you sure?')){
$(this).unbind(event);
$('#shuffle').bind('click', function(){
$("#upimagesQueue li").shuffle();
});
$("#upimagesQueue li").shuffle();
}
});
也可以写为:
$('#shuffle').bind('click', function(event){
if(confirm('are you sure?')){
$(this).unbind(event).click(function(){
$("#upimagesQueue li").shuffle();
})
$("#upimagesQueue li").shuffle();
}
});
不隶属于 StackOverflow