我有一个表,在该表中,我在每一行的第一列中为用户提供了一个删除行的按钮,当用户在第一列上输入鼠标时动态生成删除按钮,这是代码
$('table').on('mouseover', "td.y-id", function () {
$(this).append($('<a class="dlt-x" style="float: right; cursor: pointer; cursor: hand;"> <i class="fa fa-trash"></i> </a>'));
});
$('table').on('mouseleave', "td.y-id", function () {
$('.dlt-x').remove();
});
然后我注册了一个点击删除按钮的事件
$('table').on('click', 'a.dlt-x', function () {
alert("clicked");
});
并且此事件未触发。我查看了其他类似的问题并尝试了所有解决方案,找到了相关的委托(delegate)绑定(bind)但无法解决问题。
最佳答案
如果您正在触发动态元素。像下面这样使用
$('body').on('click',"#dynamic_element_id",function(){
// you code
})
关于javascript - 事件未在动态生成的元素上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44069268/