首页 > 解决方案 > 在单击另一个按钮之前检查用户单击了哪个按钮

问题描述

例如,我试图弄清楚如何写这个。当用户点击按钮时,id "niekket"它现在需要用户专门点击该按钮。在用户单击"niekket"并希望通过单击带有 的按钮来重置值之后id "resetbtn"id("uitvoer").innerHTML = // output (a string) depends on which button has been clicked (on niekket or pap) by the user before clicking on the resetbtn它应该输出这个alert("You clicked on button niekket") else alert("You clicked on the button pap before clicking on the resetbutton")

任何帮助,将不胜感激!

function personen(voornaam, achternaam, geboortejaar) {
    this.voornaam = voornaam;
    this.achternaam = achternaam;
    this.geboortejaar = geboortejaar;

    this.gegevens = function () {
        return this.voornaam + " " + this.achternaam + " " + this.geboortejaar;
    };

    this.wijzigVoornaam = function (vNaam) {
        this.voornaam = vNaam;
    };

    this.wijzigAchternaam = function (aNaam) {
        this.achternaam = aNaam;
    };
    this.wijzigGeboortejaar = function (jaar) {
        this.geboortejaar = jaar;
    };
}

var niekket = new personen("Niek", "Henk", 1800);
var pap = new personen("Joop", "Freek", 1950);

function id(id) {
    var allId = document.getElementById(id);
    return allId;
}

function allEvents() {
 var idClicked;
    id("niekket").onclick = function () {
        toonGegevens(niekket);
        idClicked = "Niekket";
    };
    id("pap").onclick = function () {
        toonGegevens(pap);
        idClicked = "pap";
    };
    id("resetbtn").onclick = function () {
    id("uitvoer").innerHTML = idClicked;
    };
}
allEvents();

function toonGegevens(p) {
    id("uitvoer").innerHTML = p.gegevens();
}
<p id="uitvoer">Klik op de knop en zie deze invoer wijzigen</p>
 <button class="btn" id="niekket">Niekket</button>
 <button class="btn" id="pap">Pap</button>
 <button id="resetbtn">resetbutton</button>

标签: javascriptif-statement

解决方案


您可以将上次单击的 ID 存储在某个变量中,例如:

var lastClickedId;

function allEvents() {
    id("niekket").onclick = function () {
        toonGegevens(niekket);
        lastClickedId = "niekket";
    };
}

lastClickedId然后在需要时使用此变量。


推荐阅读