jqGrid中onCellSelect函数的确切反转是什么?

我的代码 –

onCellSelect: function(rowid,iRow,iCol,e) { jQuery("#createrule").click(function(){ hidePopup(); showPopUp6(); }); onCellSelect: 

},

onCellSelect函数的确切反转是什么?

如果用户单击网格,则每次都不应注册新的click事件处理程序。

jqGrid在创建网格期间注册click事件处理程序。 因此,如果用户单击网格的某个单元格,您可以执行某些操作。 参数rowidiCol可以帮助您识别单击了哪个单元格, e参数( click事件的Event对象)可以在需要时为您提供更多信息。 jqGrid是开源项目。 因此,您可以随时检查源代码,以更好地了解onCellSelect作用以及将在哪个上下文中调用它。 看看代码行 。

只是一个示例您可以定义以下格式化程序

 formatter: function (cellValue, options, rowObject) { return "" + cellValue + ""; } 

在名为“myColumn”的列中,定义以下使用myLink类的CSS规则

 .myLink { text-decoration: underline; cursor: pointer; } 

您将在列中包含“链接”。

要检测用户是否单击此伪链接,您可以使用以下onCellSelect回调

 onCellSelect: function (rowid, iRow, iCol, e) { var $self = $(this), colModel = $self.jqGrid("getGridParam", "colModel"); if (colModel[iCol].name === "myColumn") { // test for the click in myColumn column alert("OK here we can do something"); } } 

警报将在列中的任何位置单击显示,而不仅仅显示在链接上。 如果你想检测只在链接上点击那么我们应该测试e.tagret ,它是用户点击的元素:

 onCellSelect: function (rowid, iRow, iCol, e) { var $self = $(this), colModel = $self.jqGrid("getGridParam", "colModel"); if (colModel[iCol].name === "myColumn" && $(e.tagret).hasClass("myLink")) { alert("OK, link is clicked and here we can do something"); } } 

因此onCellSelect可用于处理网格的每个单元格上的click事件。 如果您需要另外禁止选择网格,则应使用onCellSelect而不是onCellSelect 。 例如,请参阅答案 。