javascript - 在单击另一个按钮之前检查用户单击了哪个按钮
问题描述
例如,我试图弄清楚如何写这个。当用户点击按钮时,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>
解决方案
您可以将上次单击的 ID 存储在某个变量中,例如:
var lastClickedId;
function allEvents() {
id("niekket").onclick = function () {
toonGegevens(niekket);
lastClickedId = "niekket";
};
}
lastClickedId
然后在需要时使用此变量。
推荐阅读
- matlab - 用 MATLAB 解决概率问题
- database - 使用阿姆斯壮公理证明 AD->B
- ios - 异步调用导致 EXC_BAD_INSTRUCTION 崩溃
- android - 在使用 Navigation 组件和 Kotlin 进行导航时向 backstack 添加额外的片段
- ubuntu - Makefile - 在循环中使用数学
- postgresql - 使用 AWS RDS PostgreSQL 数据库移动数据
- java - 根据日期将数据保存到数据库
- outlook - 保存约会项目时出现 Outlook VSTO 错误
- javascript - 单击内部链接后下拉菜单未关闭
- node.js - 如何使用 fastify-http-proxy 拦截响应