jQuery:检查是否单击了按钮

时间:2013-03-14 08:59:24

标签: javascript jquery html html5

我在表单中有两个按钮,想要检查哪一个被点击了。 使用radioButtons一切正常:

if($("input[@name='class']:checked").val() == 'A')

在简单的提交按钮上,一切都崩溃了。

谢谢!

6 个答案:

答案 0 :(得分:42)

$('#submit1, #submit2').click(function () {
   if (this.id == 'submit1') {
      alert('Submit 1 clicked');
   }
   else if (this.id == 'submit2') {
      alert('Submit 2 clicked');
   }
});

答案 1 :(得分:13)

您可以使用:

$("#id").click(function()
{
   $(this).data('clicked', true);
});

现在通过if语句检查:

if($("#id").data('clicked'))
{
   // code here 
}

有关详细信息,请访问the jQuery website on the .data() function.

答案 2 :(得分:5)

$('input[type="button"]').click(function (e) {
    if (e.target) {
        alert(e.target.id + ' clicked');
    }
});

你应该稍微调整一下(例如,使用一个名称而不是一个id来提醒),但这样你就有了更多的通用功能。

答案 3 :(得分:4)

jQuery(':button').click(function () {
    if (this.id == 'button1') {
        alert('Button 1 was clicked');
    }
    else if (this.id == 'button2') {
        alert('Button 2 was clicked');
    }
});

编辑: - 这适用于所有按钮。

答案 4 :(得分:2)

$('#btn1, #btn2').click(function() {
    let clickedButton = $(this).attr('id');
    console.log(clickedButton);
});

答案 5 :(得分:0)

尝试类似:

var focusout = false;

$("#Button1").click(function () {
    if (focusout == true) {
        focusout = false;
        return;
    }
    else {
        GetInfo();
    }
});

$("#Text1").focusout(function () {
    focusout = true;
    GetInfo();
});