我的代码-
onCellSelect: function(rowid,iRow,iCol,e)
{
jQuery("#createrule").click(function(){
hidePopup();
showPopUp6();
});
onCellSelect:
},
jqGrid 中 onCellSelect
函数的完全逆向是什么?
最佳答案
如果用户在网格中单击,您不应该每次都注册新的 click
事件处理程序。
jqGrid 在创建网格期间注册了一个click
事件处理程序。因此,如果用户单击网格的某个单元格,您可以执行一些操作。参数 rowid
和 iCol
帮助您识别哪个单元格被点击,e
参数(click
的事件对象事件)可以在需要时为您提供更多信息。 jqGrid 是开源项目。因此,您可以随时检查源代码以更好地了解 onCellSelect
的作用以及它将在何种上下文中被调用。看the lines代码。
只是一个例子 你可以定义下面的格式化程序
formatter: function (cellValue, options, rowObject) {
return "<span class='myLink'>" + cellValue + "</span>";
}
在名为“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
事件。如果您需要另外抑制对网格的选择,那么您应该使用 beforeSelectRow
而不是 onCellSelect
。参见 the answer例如。
关于javascript - jqGrid 中 onCellSelect 函数的完全相反是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26859269/