0

我正在使用服务器端技术 (JSP) 来呈现我的视图。因此,我有一个for循环遍历列表的循环。现在,我想将单击侦听器绑定到为列表中的每个项目呈现的按钮。点击监听器中的代码需要item ID,我不明白如何传递给JavaScript代码。

我也使用requirejs, 如果这对解决方案很重要。

4

3 回答 3

1

也许您只是不需要将 html ID 传递给您的 javascript。您可以使用 css 类来检索 DOM 中的按钮。javascript 代码取决于您使用的框架。

在本机 javascript 中,您可以像这样检索按钮:

var buttons = document.querySelectorAll('button.my_class');

换成my_class你想要的就行了。

您可以通过执行以下操作访问按钮 ID:

var button_id = buttons[0].id

如果要将项目 ID 附加到按钮,可以使用data属性。例如 :

<button id="my_button" data-id="item_id" />

在javascript中,您可以data_id像这样访问:

var item_id = buttons[0].getAttribute('data-id');
于 2012-11-26T08:55:02.683 回答
1

在大多数事件处理程序中,this是触发事件的 DOM 节点,所以类似这样的工作:

button.onclick = function() {
    alert(this.id);
}
于 2012-11-26T09:05:17.063 回答
1

这是现场示例 如果您使用的是 jQuery 和 requirejs,这将是这样的:

require(['jQuery'], function ($) {
    $('.container_element').on('click', '.button_class', function () {
        console.log('You have clicked button with id ', $(this).attr('id'));
    })
})   
于 2012-11-26T09:08:48.560 回答