如何在每次onlick事件之后调用diffect函数

How can I call a differect function after each onlick event

本文关键字:之后 调用 diffect 函数 事件 onlick      更新时间:2024-03-22

我正在寻找一种在每次单击后调用不同函数的方法。第二次点击后,我想禁用按钮。我相信我会使用条件,但我不知道如何跟踪特定元素上的点击。

感谢

这也是小提琴的演示:http://jsfiddle.net/2w4YJ/

(function(){
    console.log("start of function");
    var studen1 = {name:"Walker", address:{street: "123 South Drive", city: 'Sarasota', state: 'FL'}, gpa: ["3.0 ", " 3.4", " 3.8"]};
    var studen2 = {name:"Christian", address:{street: "5601 Pebble Beach Ln", city: 'Sacromento', state: 'CA'}, gpa: [2.5, 3.6, 3.8]};
    var studen3 = {name:"Marisa", address:{street: "833 Golden Pond Ct", city: 'Osprey', state: 'FL'}, gpa: [4.0, 2.5, 3.0]};
    var button = document.querySelector('a');
    function loadStudent(){
        console.log("in load student");
        var eleName =    document.getElementById('name');
        var eleAddress =    document.getElementById('address');
        var eleGPA =    document.getElementById('gpa');
        eleName.innerHTML = studen1.name;
        eleAddress.innerHTML = studen1.address.street + "<br />" + studen1.address.city + "<br />" + studen1.address.state;
        eleGPA.innerHTML = studen1.gpa;
    };
    button.onclick = function(e){
        var clicks = 0;
        if(button.onclick = 1){
            console.log("1");
            loadStudent();
            clicks ++;
        } else if(clicks >= 1){
            console.log("2");
            clicks ++;
        } else{
            console.log("3");
        }
    }
})();

var clicks移出功能范围。在您的情况下,每次触发函数时,单击都会返回零值。

(function(){
        console.log("start of function");
        var clicks = 0;
        ...

是,在if语句中使用=====而不是=

您当前正在重新定义单击计数器,并在每次调用onclick处理程序时将其重置为zewro。尝试将clicks的声明放在事件处理程序之外:

var clicks = 0; 
button.onclick = function(){
   clicks++;
   console.log(clicks);
}