Jquery 打开表格行上的“新建”选项卡,然后单击

Jquery 打开表格行上的“新建”选项卡,然后单击,jquery,html,Jquery,Html,表格行点击浏览器后打开3个选项卡,哪里会有问题?我只想打开一个选项卡。试试这个,你就会明白你的问题: 警报($('.table tbody tr').length) 编辑: 对不起,我没听清你的问题。您必须执行以下操作才能解决此问题: if (/view/.test(self.location.href)) { $('.table tbody tr ').click(function() { var href = $(this).find("a").attr("href"

表格行点击浏览器后打开3个选项卡,哪里会有问题?我只想打开一个选项卡。

试试这个,你就会明白你的问题:

警报($('.table tbody tr').length)

编辑:

对不起,我没听清你的问题。您必须执行以下操作才能解决此问题:

if (/view/.test(self.location.href)) {
    $('.table tbody tr ').click(function() {
        var href = $(this).find("a").attr("href");
        if (href) {
            window.open(href, '_blank');
        }
    })
    $('.table tr').find('td:first').on('click', function(e) {
        // e.preventDefault();
        e.stopPropagation();
    });
}
解释(根据观众要求)


基本上,可能是您动态加载它或多次加载它,因此它将绑定单击操作,在本例中为3次,这将导致打开3个选项卡,使用unbind delete(取消绑定)删除以前的绑定,因此它将只绑定事件一次。

我猜您已将这段代码执行了三次,因此注册了三个事件处理程序。在列级别上有任何事件吗?您能再解释一下吗?“这是作为一个答案发布的,但它不试图回答这个问题。它可能是一个编辑,一个注释,[…]”
if (/view/.test(self.location.href)) {
    $('.table tbody tr ').unbind('click');
    $('.table tbody tr ').click(function() {