jquery 打开和关闭单击事件

uidvcgyl  于 2023-11-17  发布在  jQuery
关注(0)|答案(1)|浏览(104)

因此,我正试图使一个照片画廊:1.如果你点击其中一张照片有一个弹出窗口2.但你不能点击任何照片,直到你关闭弹出窗口。
我已经把点击事件和打开和关闭它们弄得乱七八糟了。现在我让它工作,所以当我点击一张照片时,弹出窗口会出现,我不能点击任何照片。然而,我在点击关闭后无法将点击功能恢复。

$("#th1").click(function() {
    $("#dropdown").animate({
        top: "+=400"
    }, 500);
    //fix the pop up so it won't scroll
    $("#dropdown").addClass("fixed");
    //prevent clicking again
    $("#th1,#th2,#th3,#th4,#th5,#th6").off('click');
});

//close the pop up
$('#closedPopUp').click(function(event) {
    //prevent the default functionality
    event.preventDefault();
    //move the pop up back off the screen
    $("#dropdown").css("top", "-250px");
    //turn clicking on again (this part doesn't work)
    $("#th1,#th2,#th3,#th4,#th5,#th6").on('click');
});

字符串

yc0p9oo0

yc0p9oo01#

你的问题在这里

$("#th1,#th2,#th3,#th4,#th5,#th6").on('click');

字符串
这实际上什么也没做,因为没有争论在点击时该做什么。
您可以将函数分配给变量以使其工作:

var clickFunction = function() {
    // ...
    //prevent clicking again
    $("#th1,#th2,#th3,#th4,#th5,#th6").off('click');
}

$("#th1").click(clickFunction);

//close the pop up
$('#closedPopUp').click(function(event) {
    // ...
    $("#th1,#th2,#th3,#th4,#th5,#th6").on('click', clickFunction);
});

相关问题