如何创建可触发JavaScript函数的可单击网格单元?
我提供了此列作为列的模板 模板:
'<a href="\\#" class="group-details-popup">#=groupRefId#</a>'
然后添加了这样的函数来搜索该类并添加一个单击侦听器:
$(".group-details-popup", grid.tbody).on("click", function (e) {
// do something
});
但是当我点击单元格时,我的函数永远不会被调用;单元格中的值确实显示为链接,但不会触发任何事件。
答案 0 :(得分:0)
我的猜测是,当您尝试访问grid.tbody
时收到错误,因为它未定义。你需要用引号括起来:
$(".group-details-popup", ".grid tbody").on("click", function (e) {
// do something
});
我上面假设grid
是一个类,并且您希望将处理程序绑定到该类中的tbody
元素。否则,你的jQuery很好(假设你已正确包含它):
答案 1 :(得分:0)
试试这个..
$("a.group-details-popup").click(function () {
//your code here
}
答案 2 :(得分:0)
这样做:
$(".group-details-popup", grid.tbody).on("click", function (e) {
// do something
});
相当于:
$(grid.tbody).find(".group-details-popup").on("click", function (e) {
// do something
});
将click事件处理程序附加到grip.tbody jQuery元素引用中的现有类“group-details-popup”。
为了附加到一个尚未存在的元素,您需要将事件处理程序附加到该元素的某个包装器 - 一旦添加该元素就会保存该元素。一个选项是“document”,但是如果你可以获得更精确的东西,那么document不是一个理想的容器,这样事件处理程序就不必处理整个DOM来找到目标。你似乎有一个元素包装器,所以使用它。
$(grid.tbody).on("click", ".group-details-popup", function (e) {
// do something
});