Javascript datatables js网格:处理dbl单击事件
我尝试为带有jquery datatables的表处理行上的双击事件 正如您所看到的,我尝试了一些东西,在fnDrawCallback内部,在DocumentReady with on()内部,或者直接在dblckick()内部,但它从来都不起作用-( 它只在我在table元素上设置它时才起作用,但是使用它,我不会得到row元素-( 代码如下:Javascript datatables js网格:处理dbl单击事件,javascript,jquery,event-handling,datatables,Javascript,Jquery,Event Handling,Datatables,我尝试为带有jquery datatables的表处理行上的双击事件 正如您所看到的,我尝试了一些东西,在fnDrawCallback内部,在DocumentReady with on()内部,或者直接在dblckick()内部,但它从来都不起作用-( 它只在我在table元素上设置它时才起作用,但是使用它,我不会得到row元素-( 代码如下: $(document).ready (function() { $("#wfTable").dataTable( { "bProcessing"
$(document).ready (function() {
$("#wfTable").dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "server/workflows",
"bScrollInfinite": true,
"bScrollCollapse": true,
"sScrollY": "200px",
"iScrollLoadGap": 50,
"aoColumns": [
{ "sTitle": "Id", "mData": "id" },
{ "sTitle": "Label", "mData": "label" },
{ "sTitle": "Name" ,"mData": "name" }],
"fnDrawCallback": function (oSettings) {
var oTable = $('#wfTable TR');
var theData = oTable.find('TR');
theData.unbind();
// On row click, go to single-view page
theData.dblclick( function (e) {
var iPos = oTable.fnGetPosition( this );
var aData = oTable.fnGetData( iPos );
var iId = aData[0];
});
}
});/*fnServerData bJQueryUI true*/
//$('#wfTable').dblclick( function (e) {
/*$('#wfTable td').on("dblclick", function() {
//target = $(e.target);
//while(target.get(0).tagName != "TR"){
// target = target.parent();
//}
var iPos = oTable.fnGetPosition( this );
var aData = oTable.fnGetData( iPos );
var iId = aData[0];
window.location.href = 'workflow/' + iId;
});*/
});我发现了这个:
$('#wfTable').dblclick( function (e) {
target = $(e.target);
while(target.get(0).tagName != "TR"){
target = target.parent();
}
var iPos = oTable.fnGetPosition( target.get(0) );
var aData = oTable.fnGetData( iPos );
var iId = aData.id;
window.location.href = 'workflow/' + iId;
});
无论如何,您的代码也必须工作我几乎成功地使用了:
$('#wfTable').dblclick(函数(e){/$('#wfTable td').on(“dblclick”,function(){target=$(e.target);while(target.get(0).tagName!=“TR”){target=target.parent()}var iPos=oTable.fngeposition(target.get());var aData=oTable.fngedata(iPos);var iId=aData[0];window.location.href='workflow/'+iId;});
但我遇到了一个错误,因为无法获取节点名,因为chrome在调试模式下显示此属性;-(这将针对表上的dblclick,而不是表行。尝试引用行,从而引用列以获取任何Id。例如$(文档)。on(“dblclick”,“#wfTable tr”,函数(事件){var id=$(“anyColumn”,this);});