javascript - 如何在单击而不是 javaScript 中的 [object MouseEvent] 时获得价值
问题描述
所以我的所有按钮上都有一个事件处理程序。按钮比调用应该转到 servlet 的函数。
这是我按钮上的监听器。
const buttons = document.getElementsByClassName("category-button");
for (let i = 0; i < buttons.length; ++i) {
buttons[i].addEventListener("click", function () {
populateDeleteTable(this.value);
});
}
我给我的函数一个参数,当我点击按钮时,我得到一个对象鼠标事件。
function populateDeleteTable(category) {
这就是我得到的。我画了不重要的部分。
所以基本上不是[object MouseEvent]
我想要按钮的 id 我该einID2
怎么做?
编辑:
这是功能。也许有人看到了问题。当前代码
const buttons = document.getElementsByClassName("category-button");
for (let i = 0; i < buttons.length; ++i) {
buttons[i].addEventListener("click", function (event) {
populateDeleteTable(event.target.id);
});
}
function populateDeleteTable(category) {
var servletURL = "../deleteServlet_1"
console.log(category);
let xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.onreadystatechange = function () {
if (xmlHttpRequest.readyState === 4 && xmlHttpRequest.status === 200) {
console.log("test inner")
console.log(xmlHttpRequest.responseText);
let itemGetter = JSON.parse(xmlHttpRequest.responseText);
JSON.stringify(itemGetter);
var ausgabe = "<table><tr><th>ID</th><th>Artikel Bezeichnung</th><th>Preis</th><th>Kategorie</th></tr>";
for (var i = 0; i <= itemGetter.length - 1; i++) {
//servletURL.searchParams.append("lookfor", itemGetter[i].kategorie);
ausgabe += "<tr><td>";
ausgabe += itemGetter[i].id;
ausgabe += "</td><td>";
ausgabe += itemGetter[i].artikelName;
ausgabe += "</td><td>";
ausgabe += itemGetter[i].preis.toFixed(2);
ausgabe += "</td><td>";
ausgabe += itemGetter[i].kategorie;
ausgabe += "</td><td>";
ausgabe += "<a href= \"deleteServlet_2?id=" + itemGetter[i].id + "\">Delete</a>"
}
ausgabe += "</td></tr></table>";
document.getElementById("listeDeleteB").innerHTML = ausgabe;
}
};
xmlHttpRequest.open("GET", servletURL + "?category=" + encodeURI(category), true);
xmlHttpRequest.send();
}
解决方案
访问您单击的元素event.target
,然后通过
查看文档来查看它的ID,您可以找到更多对您有用的东西。
https://developer.mozilla.org/en-US/docs/Web/API/Event/targetevent.target.id
event.target
推荐阅读
- python - 如何将 PostgreSQL 数据库自动备份到驱动器
- c# - 统一使用没有 ECS 的突发编译器
- ios - Google Advance 原生广告展示问题
- certificate - 已签名 VBA 项目的 Microsoft Word 安全警告
- javascript - JS游戏未在网页中呈现
- r - 使用 Pad 功能填充日期时出现问题
- windows - 如何在 Windows 操作系统中包含原生 macOS 字体,例如 Times Roman 和 Helvetica?
- flutter - 推送新屏幕时保留BottomAppBar
- python - CNN 从头开始 - 反向传播不起作用
- php - 如何从json中获取值