2012-07-04 31 views
0

我已經包含2個鏈接的表格,表有兩個環節 - 錶行點擊 - jQuery的

  • 如果我點擊「按鈕」的鏈接應該針對「第1頁」

  • 如果我點擊整個行應該目標'page2'

我目前堅持與jQuery的Javascript - 有人可以給我一個建議嗎?

HTML &的JQuery/JS

<tr> 
    <td><a href="page2.html" class="info"><img src="img/img.png" alt="image" class="tlogo"/></a></td> 
    <td>Some Text</td> 
    <td><a href="page1.html" class="tbutton">Go to page1</a></td> 
</tr> 

    $(document).ready(function() { 
     $('#myTable tr').click(function() { 
      var href = $(this).find("a").attr("href"); 
      if(href) { 
       window.location = href; 
      } 
     }); 
    }); 

回答

2

如果單擊該按鈕,該行的點擊也將被解僱。停止的方法是使用event.stopPropagation();

這將取消任何將在此後觸發的事件,因此如果將其放入按鈕單擊事件中,行點擊事件將不會觸發。

+0

++ 1'event.stopPropogation'確實見下面我的職務演示。 ':'' –

0

你可以做一兩件事: -

<tr> 
    <td><a href="page2.html" class="info"><img src="img/img.png" alt="image" class="tlogo"/></a></td> 
    <td>Some Text</td> 
    <td><a href="page1.html" class="tbutton">Go to page1</a></td> 
</tr> 

$(document).ready(function() { 
    $('.tbutton').click(function() {    
     window.location.href = page1.html; 
    }); 
$('"#mytable tr').click(function() {    
      window.location.href = page2.html; 
     }); 
}); 


希望這是有益:)

2

試着這麼做:

$(document).ready(function() { 
    $('#myTable a').click(function(e){ 
     window.location = $(e.currentTarget).attr('href'); 
     e.stopPropagation(); 
    }); 

    /* Assuming that the link you want to go to on clicking the row is in the first td */ 

    $('#myTable tr').click(function(e) { 
     window.location = $('#myTable tr a',e.currentTarget).attr('href'); 
     e.stopPropagation(); 
    }); 
}); 
+0

Hiya很少有建議說明:使用'event.stopPropogation',它將值得做像'$('#id tr td a')幾乎注意':)''+1反正:P –