Javascript 如何在datatables中模拟鼠标单击?
当我点击Javascript 如何在datatables中模拟鼠标单击?,javascript,jquery,datatables,Javascript,Jquery,Datatables,当我点击Edit按钮打开我表格中的内联编辑器时,我想在我的datatables中模拟鼠标点击(我使用datatables插件制作表格)。为此,我使用$(#datatable td”).trigger(“click”),这是可行的,但使用此方法,内联编辑器将为表的每一行打开,我希望在按钮所在的行上打开内联编辑器,而不是在所有位置 JS: 使用最近的查找属于按钮的td: $(document.body).on('click','.editBtn', function() { $(this).
Edit
按钮打开我表格中的内联编辑器时,我想在我的datatables中模拟鼠标点击(我使用datatables插件制作表格)。为此,我使用$(#datatable td”).trigger(“click”)代码>,这是可行的,但使用此方法,内联编辑器将为表的每一行打开,我希望在按钮所在的行上打开内联编辑器,而不是在所有位置
JS:
使用最近的查找属于按钮的td
:
$(document.body).on('click','.editBtn', function() {
$(this).closest('td').trigger("click");
});
这假设编辑按钮具有类editBtn
还要注意,我使用的是三参数方法,这将使click处理程序即使在稍后添加新的td
s时也能工作
我看到您在问题中添加了一个代码段,该代码段使用id来选择编辑按钮。这是一种不好的做法,元素的id应该是唯一的,选择器应该只应用于一个结果。最好对所有编辑按钮使用一个类。使用最近的查找属于该按钮的td
:
$(document.body).on('click','.editBtn', function() {
$(this).closest('td').trigger("click");
});
这假设编辑按钮具有类editBtn
还要注意,我使用的是三参数方法,这将使click处理程序即使在稍后添加新的td
s时也能工作
我看到您在问题中添加了一个代码段,该代码段使用id来选择编辑按钮。这是一种不好的做法,元素的id应该是唯一的,选择器应该只应用于一个结果。最好对所有编辑按钮使用一个类。试试这个,希望有帮助
$("#datatable").on("click", "#btn_ed", function () {
$(this).closest('tr').find('td').each(function(e){
$(this).trigger('click')
})
});
试试这个,希望有帮助
$("#datatable").on("click", "#btn_ed", function () {
$(this).closest('tr').find('td').each(function(e){
$(this).trigger('click')
})
});
您应该在单击编辑按钮时调用逻辑,而不是模拟单击按钮,以便从长远来看调用此逻辑。只是为了更好地理解您的问题--为什么需要在实际发生单击后模拟单击?@Kobe对于内联编辑器,我使用外部插件()@AndroidNoobie现在,当我单击“表面积”列中的单元格时,我可以编辑它,但为了更好的UI/UX,我在te表格的每一行添加一个按钮edit,以编辑同一行中的单元格“表面积”。当你单击edit按钮时,你应该调用逻辑,而不是模拟单击按钮,从长远来看,这就是逻辑。为了更好地理解你的问题——为什么你需要在点击实际发生后模拟点击?@Kobe对于内联编辑器,我使用的是外部插件()@AndroidNoobie现在当我点击“表面积”列中的单元格时,我可以编辑它,但为了更好的UI/UX,我在te表格的每一行添加了一个编辑按钮,以编辑同一行中的单元格“表面积”。