我正在制作一个 php/html 应用程序,它在表中显示一些数据,当用户单击行 ( <tr>
) jquery 打开该记录时。
这是代码:
$.fn.linkRow = function(element) {
thisRow = this.find('tbody tr');
thisRow.on('click', function() {
hrefLocation = $(this).find('td.link:first a').attr('href');
if (hrefLocation) {
window.location.href = hrefLocation;
};
}).addClass((thisRow.has('td.link')) ? 'pointer' : '');
return this;
};
事实是:用户无法在新选项卡中打开记录。唯一的方法是复制和粘贴href
...而我的用户不会这样做。
如果对滚动按钮触发的事件以及如何打开新选项卡进行一些研究,后者几乎是不可能的,所以......有人能想办法吗?
编辑:我的意思是鼠标滚轮......通常这会在新选项卡中打开一个链接。
PS:我必须使用表格,在某些时候我会为此制作一个基于 css 的表格布局(不需要 javascript),但我不能在这个版本的软件中做到这一点。
谢谢!
这是最终代码:
$.fn.linkRow = 函数(元素){ thisRow = this.find('tbody tr'); thisRow.not('a').on('mouseup', function(e) { hrefLocation = $(this).find('td.link:first a:first').attr('href'); 如果(hrefLocation){ 如果(e.which == 2){ window.open(hrefLocation); } 别的{ window.location.href = hrefLocation; } }; }).addClass( ( thisRow.has('td.link') ) ? 'pointer' : '' ); 返回这个; };
但是...鼠标滚轮点击不适用于我的意图:
如果您单击链接(a
标签)> 打开一个新选项卡
如果您单击无链接(任何其他标签)> 它将根据您的鼠标位置滚动。如果您向上移动鼠标,它会向上滚动,因此
所以......我工作,但我绝对需要制作一个无 JavaScript 的解决方案。