禁用第一列上的单击事件

时间:2012-05-09 19:26:40

标签: javascript jquery

有人可以帮我解决如何禁用第一列上的点击事件,其他列应该是可点击的。我尝试了几种不同的方法,比如slice

  在tr元素之后的

td.slice()以及td:gt(0)

等等,并没有成功。自从2天以来我一直在敲打我的脑袋,但我没有在谷歌上找到任何相关的解决方案。

$('#Table tbody tr').on("click",function(){
                    var aPos Table.fnGetPosition(this);
                    var aData = Table.fnGetData( aPos[6] );
                    //aData = $(this).parent().parent().html();
                    xyz = $(this).parent().parent().find("td").eq(1).html();                    
                    yzx= $(this).parent().parent().find("td").eq(7).html();
                    zxy= $(this).parent().parent().find("td").eq(2).html();
                    alert(aPos);

            });

3 个答案:

答案 0 :(得分:3)

在第一列点击DEMO

后尝试stopPropogation

修改:添加了演示并修复了.find('td:first')

$('#Table tr').find('td:first').on('click', function (e) {
 e.preventDefault();
 e.stopPropagation();
});

答案 1 :(得分:0)

在第一列添加某种唯一标识符

$('identifier').click(function(){
    return false;
});

我认为你也可以用第n个孩子的东西来定位第一列,但我不确定确切的语法。也许像是

$('table tr td:(nth-child(1)').on('click', function(){
    return false;
});

或类似上述内容,希望有所帮助

答案 2 :(得分:0)

您需要为要使用的列添加某种标识符:

<tr>
    <td class="dontClickMe"></td>
    <td class="clickMe"></td>
</tr>

然后它就像:

一样简单
$('.clickMe').on('click', function() { ... });