我有这个功能可以整理图像列表,当我按下#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();
    }
});

看: http://api.jquery.com/one/

也可以写为:

$('#shuffle').bind('click', function(event){
    if(confirm('are you sure?')){
        $(this).unbind(event).click(function(){
            $("#upimagesQueue li").shuffle();
        })
        $("#upimagesQueue li").shuffle();
    }
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top