我有这样的 JavaScript,当我单击表格行时,它会打开新页面:
$(document).ready(function () {
$('table[id$="dataTable"]').find("tbody").on("click", "tr", function () {
$(this).find('a[id$="lnkHidden"]').trigger("click");
}).on("click", 'a[id$="lnkHidden"]', function (e) {
e.stopPropagation();
});
});
JavaScript 用于调用此按钮:
<h:commandLink id="lnkHidden" action="#{bean.pageRedirect}" style="text-decoration:none; color:white; display:none">
<f:setPropertyActionListener target="#{bean.sessionValue}" value="#{item.value}" />
</h:commandLink>
该代码运行良好,但事实证明,当我选择表的第一列(即复选框)时,我还会打开一个新页面。如何修改 JavaScript,使其在单击复选框时不打开新页面?
监听对表格单元格而不是行的点击,然后忽略该单元格是否位于第一列。
坚持使用 jQuery,这可能会起作用:
$(document).ready(function () {
$('table[id$="dataTable"]').find("tbody").on("click", "td", function () {
if (this.cellIndex > 0) {
$(this.parentNode).find('a[id$="lnkHidden"]').trigger("click");
}
}).on("click", 'a[id$="lnkHidden"]', function (e) {
e.stopPropagation();
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)