gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 15:37:06 24 4
gpt4 key购买 nike

我的代码-

 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com