javascript - jqGrid 中 onCellSelect 函数的完全相反是什么?

标签 javascript jquery jqgrid

我的代码-

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

},

jqGrid 中 onCellSelect 函数的完全逆向是什么?

最佳答案

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

jqGrid 在创建网格期间注册了一个click 事件处理程序。因此,如果用户单击网格的某个单元格,您可以执行一些操作。参数 rowidiCol 帮助您识别哪个单元格被点击,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/

相关文章:

javascript - 根据推荐人、用户代理显示不同的电话号码

javascript - Ajax页面,facebook的FB.init()导致所有ajax请求发生两次?

jquery - 应用columnchooser时如何保持原始jqgrid宽度?

javascript - 未定义索引 : page jqGrid

javascript - Photoshop 脚本 : app. activeDocument 未定义

javascript - 在 javascript 中将 Date() 舍入到最接近的 5 分钟

javascript - 使用jCrop时如何使头像预览图像流畅

javascript - 使用 JavaScript 更改 CSS 值

php - 简单的颜色变化

javascript - jqgrid 自定义格式化程序 : The custom formatter always returns the last row of the grid. 为什么?