javascript - 如何使用 jQuery 检测点击事件是否发生?

标签 javascript jquery

我有 2 个按钮。我想检测是否单击了前一个按钮,然后在单击第二个按钮时它应该显示一些数据,否则如果用户直接单击第二个按钮,它应该显示一个警报(请先单击上一个按钮)。我试过这样做但无法检测到是否单击了第一个按钮:-(

HTML

<input type="button" id="btn1" value="button1"></input>
<input type="button" id="btn2" value="button2"></input>

JavaScript

       $('#btn1').click(function(){
           alert('Button 1 Clicked');
        });

        $('#btn2').click(function(event) {
            var inputButton = document.getElementsByTagName('input');
            var $target = $(event.target);
            if( $target.is(inputButton[1]) ) {
                alert("Please click the 1st Button first");
            } else{
                alert('Button 2 Clicked');
            }
        });

最佳答案

编辑:我选择不使用变量,因为没有太多理由使用变量。避免不必要的作用域污染等。

HTML

<button id="btn1">First Button</button>
<button id="btn2">Second Button</button

JavaScript

$(document).ready(function() {
    $('#btn1').on('click', function() {
        alert('Button 1 clicked');

        $('#btn2').data('btn1-clicked', true);
    });

    $('#btn2').on('click', function() {
        var el = $(this);

        if (el.data('btn1-clicked')) {
            alert('Button 2 clicked');
        } else {
            alert('Please click the 1st button first');
        }
    })
});

关于javascript - 如何使用 jQuery 检测点击事件是否发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18292891/

相关文章:

javascript - 不同屏幕尺寸和设备上背景图像的完美宽度

javascript - D3 动态折线图添加点

Jquery,变量未定义

javascript - 如何从 iframe 标记中删除样式(不是在 iframe 内,而是在标记内)

javascript - .on() 函数不适用于 Bootstrap Modal 中的 Ajax 加载表单

javascript - Threejs blender 导出器以错误的格式导出

javascript - IE 11 错误消息 - 由于错误 800a025e,无法完成操作

Jquery Cycle activeClass 仅在点击导航后有效

javascript - 计算父 div 内的所有数字,然后按总计对它们进行排序

jquery - 在 jQuery 中调用用户定义的函数