我试图使td元素中的文本成为一个可点击的链接,它调用一个回调函数,然后打开一个只读的详细信息窗口。我希望文本看起来像一个链接,这样用户就知道点击它。以前的方式是您可以单击整个表行,但没有迹象表明它甚至是可单击的。另外,我希望只有特定列的文本是可单击的。
这是我添加到目标单元格的锚,它发生在对象的init函数中:
$(td).html('<a href="#" onclick="object.myFunction.call(this)">' + cellData + '</a>');
这是在init外部发生的回调函数:
grid.readOnlyModalCallback = function () {
let guid = $(this).data("guid");
if (guid) {
grid.showDetailModal(guid);
}
return false;
};
这使得文本像我想要的那样成为一个链接,但是当点击时,除了将页面重定向到“#”之外,它什么也不做。我知道这个函数可以工作,因为如果我让整行都可以点击,它就会调用,就像我提到的那样。
有人能判断出我做错了什么吗?
2条答案
按热度按时间ffscu2ro1#
看起来你试图将链接上的click事件绑定到
object.myFunction
,但实际上你想要的是将它绑定到grid.readOnlyModalCallback
。1.使用
jQuery.data()
存储guid和链接:1.然后在init函数中使用
jQuery.on()
将click事件绑定到链接:1.确保在回调中阻止默认事件:
lp0sw83n2#
只需向
td
添加一个click
事件处理程序,并对td
进行样式设置,使其清楚地显示可以单击。参见以下示例: