Dev*_*ate 68 jquery click event-handling jquery-events
我正在使用以下代码来检测单击动态生成的按钮的时间.
$(document).on("click",".appDetails", function () {
alert("test");
});
Run Code Online (Sandbox Code Playgroud)
通常情况下,如果你刚才这样做,$('.appDetails').click()你可以$(this)用来获取被点击的元素.我将如何使用上面的代码完成此操作?
例如:
$(document).on("click",".appDetails", function () {
var clickedBtnID = ??????
alert('you clicked on button #' + clickedBtnID);
});
Run Code Online (Sandbox Code Playgroud)
bip*_*pen 82
尽可能简单
$(this)在这里使用
$(document).on("click",".appDetails", function () {
var clickedBtnID = $(this).attr('id'); // or var clickedBtnID = this.id
alert('you clicked on button #' + clickedBtnID);
});
Run Code Online (Sandbox Code Playgroud)
Bas*_*ang 39
您缺少函数的事件参数.
$(document).on("click",".appDetails", function (event) {
alert(event.target.id);
});
Run Code Online (Sandbox Code Playgroud)
waf*_*eau 25
传统的处理方式与ES6不相称.你可以这样做:
$('.delete').on('click', event => {
const clickedElement = $(event.target);
this.delete(clickedElement.data('id'));
});
Run Code Online (Sandbox Code Playgroud)
请注意,事件目标将是单击的元素,可能不是您想要的元素(它可能是接收事件的子元素).要获得实际元素:
$('.delete').on('click', event => {
const clickedElement = $(event.target);
const targetElement = clickedElement.closest('.delete');
this.delete(targetElement.data('id'));
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
138058 次 |
| 最近记录: |