Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在datatables中模拟鼠标单击?_Javascript_Jquery_Datatables - Fatal编程技术网

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表格的每一行添加了一个编辑按钮,以编辑同一行中的单元格“表面积”。