【发布时间】:2012-04-06 13:01:52
【问题描述】:
对于博客管理页面上的每篇文章,我都有这个 PHP 代码循环:
echo '<a class="delete_link" id="delete_link_'.$row['rowid'].'">Delete</a>';
所以它输出:
<a class="delete_link" id="delete_link_1">Delete</a>
<a class="delete_link" id="delete_link_2">Delete</a>
<a class="delete_link" id="delete_link_3">Delete</a>
等等……
通过单击这些链接,我希望浏览器通过 XHR 发送 DELETE 请求,但我不知道如何以不显眼的方式设置事件。我的示例不起作用,因为sendDeleteRequest() 是使用最后添加的 id 触发的,无论我点击哪个链接:
function sendDeleteRequest(id) {
// I only put a simple alert in this function for now.
alert("Id of firing element: " + id);
}
onload = function() {
var deleteLinks = document.getElementsByClassName("delete_link");
for (var node in deleteLinks) {
deleteLinks[node].onclick = function() {
sendDeleteRequest(deleteLinks[node].getAttribute("id"));
}
}
}
这段代码有什么问题?还有什么我需要注意的吗?我对addEventListener() 进行了同样的尝试,但没有成功。我仍然使用 XHTML 1.0,我不能在这个项目中使用 jQuery。
【问题讨论】:
标签: javascript onclick xhtml dom-events unobtrusive-javascript