按下按钮时做事

Doing things when a button is down

本文关键字:按钮      更新时间:2023-09-26

我希望有它,这样只有当我点击另一个按钮后点击某个地方时才会调用函数(比如说,当我点击其他地方时,这个按钮是"向下"的)。

我该如何做到这一点?

在第一个按钮的click事件处理程序中,将标志设置为true。在第二个按钮的click事件处理程序中,检查标志是否为true,然后执行逻辑。

var button1Clicked = false; // what you call "down"
$('#button1').click(function() { button1Clicked = true });
$('#button2').click(function() { if (button1Clicked) { /* magic */ });

要检查以前是否发生过其他点击,只需将其存储在变量中:

var firstButtonClicked = false;
firstButton.on("click", function() { firstButtonClicked = true; });
secondButton.on("click", function() {
    if (firstButtonClicked) {
        // do something
    } else {
        alert("You need to click the other button first");
    }
});

在任何情况下,你都应该给用户一些反馈,让他先点击一个按钮。最好的解决方案是将第二个按钮设置为disabled,并从具有描述性标签的第一个按钮激活它。

您可以使用类来确定按钮的状态,如

$('button').on('click', function(e){
    $(this).toggleClass('long');
    return false;
});
$(document).on('click', function(){
    $('.long').removeClass('long');
});

FIDDLE

只需在第一次单击第一个按钮时绑定第二个按钮的单击处理程序。这样,直到点击第一个按钮后,该功能才存在:

$('#button1').one('click', function() {
    // Do stuff for first button's click
    // Create second click handler to be called when second button clicked
    $('#button2').click(function() {
        // Do stuff for second button's click
    });
});