只有在需要将其他点击转发到其他功能时才运行按钮单击事件

时间:2014-02-28 04:35:07

标签: javascript jquery

我有一个按钮如下

<input type="button" id="btn" value="Click Me" />

我有两个功能

function event1(){
  alert("1st Time Clicked");
}

function event2(){
  alert("Further Clicks");
}

我希望在用户点击该按钮时第一次运行event1功能,并且对于后续请求,我需要运行event2功能。

我尝试了以下方式

$(document).ready(function(){
    $("#btn").one("click",function(){
        event1();
    });
});

但我无法弄清楚如何运行event2功能以进一步点击。

我如何在Jquery中做到这一点?

我创建了Jsfiddle = http://jsfiddle.net/rajeevgurram/d9Z3c/

2 个答案:

答案 0 :(得分:3)

在第一个单击处理程序(使用.one())中,注册一个普通的点击处理程序,以便进一步点击将触发该处理程序

$(document).ready(function () {
    $("#btn").one("click", function () {
        event1();
        $(this).click(event2)
    });
});

演示:Fiddle

答案 1 :(得分:0)

我喜欢布尔,所以我使用

$(document).ready(function(){
    var clicked = false;

    $("#btn").on("click",function(){
        if(!clicked) {
            event1();
            clicked = true;
        } else {
            event2();   
        }
    });
});

P.S。我只是想与第一个答案不同。 XD