0

请检查下面的 JS Fiddle 链接,

http://jsfiddle.net/smanimani/ENJBs/27/

实际上我的需要是,我在所有 TR 行中的每个第一个 TD 都有一个链接按钮。当我们单击表格行时,希望在单击行后显示新行,但我不想在链接按钮单击中显示新行...

检查上面的链接...当我们单击第一行时,新行将完美显示,当我们单击链接按钮时,新行也不显示....但是当我们在第二行执行相同操作时,新行单击链接按钮时显示....

当我们单击链接按钮时,我不想显示该新行...

我该如何解决这个问题?

4

3 回答 3

1

您不能event.stopPropagation()在事件处理程序中使用.live()方法。

在事件处理程序中调用 event.stopPropagation() 对停止附加在文档下方的事件处理程序无效;该事件已经传播到文档。

于 2012-08-13T10:31:16.103 回答
0

只需删除:first伪并使用它;

$(".AltTR td a").live('click',function(e){

是一个工作小提琴。

于 2012-08-13T10:30:17.650 回答
0

您需要将 :first 更改为 :first-child 参见此处的文档

同样对于 jquery 1.7.2 live 已弃用,请使用

$(".AltTR").on('click', 'td', function(e){
    var GetTRId = $(this).closest("tr").attr('id');
    //alert("AltTR");
        expandrow(GetTRId);
});

$(".AltTR").on('click', 'td:first-child a', function(e){
    //alert("a");
        e.stopPropagation();
});
于 2012-08-13T10:52:09.507 回答