使用一次点击命令,然后禁用它

Using a click command once, and then disabling it

本文关键字:命令 然后 一次      更新时间:2023-09-26

这就是我要做的。提示符0上有两个按钮,是或否。如果单击"是",则该框将向左移动,同时逐渐消失,并显示提示1。如果单击"否",则对话框向右移动,出现提示2。我使用Z-index来告诉它哪个提示应该在顶部。现在,当我点击"是"时,它会转到提示1,如果我点击"是"或"否"按钮所在的区域,什么也不会发生。这里一切都很好。

当我点击No时,它会淡出(不向左,但这不是我主要关心的),并转到提示2。但是当我点击"是"所在的区域(无法看到"是")时,它会转到提示1。我试过在两个脚本上解除绑定单击,但它不起作用。我做错了什么?

感谢
$(document).ready(function () {
    $('.appIMG1').one('click.appIMG1',function () {
        $(this).unbind('click');
        $("#app1").animate({
            left: '250px',
            opacity:0
        });
        $("#app2").fadeIn('slow');
    });
});

$(document).ready(function () {
    $(".appIMG2").one('click.appIMG2', function() {
        $(this).unbind('click');
        $("#app1").animate({
            right: '250px',
            opacity:0
        });
        $("#app3").fadeIn("slow");
    });
});

提示0的Z指数为10,提示1的为9,提示2的为8。

您需要从所有事物中解除click事件的绑定,而不仅仅是被单击的项。而不是使用$(this).unbind('click'),你需要从所有可点击的元素中解除它的绑定,像这样(这是一个例子,只是使用第二个按钮,但它需要对两个都做):

$(".appIMG2").one('click.appIMG2', function() {
    $('.appIMG1, .appIMG2').unbind('click');
    $("#app1").animate({
        right: '250px',
        opacity:0
    });
    $("#app3").fadeIn("slow");
    });
});