jqGrid中onCellSelect函数的确切反转是什么?
我的代码 –
onCellSelect: function(rowid,iRow,iCol,e) { jQuery("#createrule").click(function(){ hidePopup(); showPopUp6(); }); onCellSelect:
},
onCellSelect
函数的确切反转是什么?
如果用户单击网格,则每次都不应注册新的click
事件处理程序。
jqGrid在创建网格期间注册click
事件处理程序。 因此,如果用户单击网格的某个单元格,您可以执行某些操作。 参数rowid
和iCol
可以帮助您识别单击了哪个单元格, 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
。 例如,请参阅答案 。