3

如何在 jqGrid 中触发“ondblClickRow”事件?我需要在单击按钮时调用该行的双击事件处理程序。

button:
<a class="btn" id="shwDetails" type="button>Details</a>

grid:
$("#gridX").jqgrid({
...
...
ondblClickRow : function(rowID, iRow, iCol, e){
// event handler
fetchRowData(rowID);
}

...
...
});

以下似乎不起作用。

$('#gridX').trigger( 'jqGridDblClickRow' ); 
$('#gridX').trigger( 'ondblClickRow' );

提前致谢。

4

2 回答 2

2

在您的特殊情况下,您可以直接调用该函数fetchRowData,而不是“触发ondblClickRow事件”。

如果其他一些代码创建 jqGrid 并且您确实需要“触发”回调函数ondblClickRow(不是事件),您可以执行以下操作:

var ondblClickRowHandler = $("#gridX").jqGrid("getGridParam", "ondblClickRow");

ondblClickRowHandler.call($("#gridX")[0], rowID);
于 2012-12-19T21:35:53.667 回答
0

ondblClickRow 是否需要这些变量中的一个、部分或全部?

var rowID =  ,//your rowID
    iRow =  ,//your iRow 
    iCol =  ,//your iCol
    e; 
$('#gridX').trigger( 'jqGridDblClickRow', [rowID, iRow, iCol, e]);

此处的文档:http: //api.jquery.com/trigger/

不过要小心:

“事件对象始终作为第一个参数传递给事件处理程序,但如果在 .trigger() 调用期间指定了其他参数,这些参数也将传递给处理程序。要传递多个参数,请使用一个数组,如此处所示。从 jQuery 1.6.2 开始,可以在不使用数组的情况下传递单个参数。”

于 2012-12-19T21:34:54.807 回答