![](/img/trans.png)
[英]How can I trigger a click event on element generated dynamically in angular 4?
[英]How to implement manual click event on dynamically generated element
我有一个mainbox
箱,其中动态地生成了一些其他箱。
// first time retrive
$.post("dataretrive.php", {
}, function(data, status) {
document.getElementById('mainbox').innerHTML = data;
timer();
});
然后在这些子框中单击一些我正在实现一些功能
$('.boxes-main').unbind('click').on('click', '.subbox', function(e){
var value1 = $(this).attr('data');
var value2 = $(this).attr('data2');
var value3 = $(this).attr('data3');
var value11 = $(this).attr('data4');
var value12 = $(this).attr('data5');
var value13 = $(this).attr('data6');
...... // some more functionality with these data which i think doesn't matter for this question for this question
});
因为我想实现这些子subbox
快捷方式,例如当用户按下1时,它会触发该框上的click事件。 我也有与此相关的ID。 如box1 , box2, box3
等。 我试图在按下键1时放置该框的click事件。
$(document).keypress(function(e) {
if(e.charCode == 49) {
$('#box1').click();
}
});
我也尝试过trigger
函数$("boxes-main #box1').click();
但由于内容是动态生成的,因此无法正常工作。有人告诉我如何在动态生成的元素上实现手动click事件。
并且不要在boxes-main
和mainbox
之间混淆,它们都是同一个div元素的类和id。
根据您的评论:
并且不要在box-main和mainbox之间混淆,它们都是同一个div元素的类和id。
并不是单击生成中断了,而是您在委派的click
事件处理程序中定位了错误的祖先。 将祖先上移至不变的元素。 如果没有其他更接近的地方, document
是最好的默认值。
$(document).on('click', '.subbox', function(e){
on
混合使用bind
。 使用off
,而不是 off
/ unbind
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.