2011-07-18 40 views
0

我有我希望用戶能夠點擊進入一個AJAX動作表格單元格,所以我有一些像如何使一個表格單元格點擊與Ajax.ActionLink

<td class="code-cell"> 
@Ajax.ActionLink(Model.Code, "Edit", "MyController", 
        new { id = Model.Id }, 
        new AjaxOptions 
         { 
          HttpMethod = "GET", 
          UpdateTargetId = "edit", 
          InsertionMode=InsertionMode.Replace 
         }, new { @class = "code-link" }) 
</td> 

這在表格單元格中放置一個鏈接。

但我希望用戶能夠點擊單元格,而不必點擊鏈接。

使用jquery我可以連接一個事件處理程序,點擊td(通過一個類),然後找到子鏈接並單擊它。但我在與理解事件傳播的麻煩,等

我有這樣的:

<script type="text/javascript"> 
    $(function() { 
     $(".code-cell").click(function (e) { 
      e.preventDefault(); 
      e.stopPropagation(); 
      $("a", this).triggerHandler("click"); 
     }); 
    }); 
</script> 

即使我已經試過調用e.preventDefault()和e.stopPropagation()(和各種組合!)我似乎無法得到這個工作。

什麼是正確的方法來做到這一點?

回答

0

你試過:

return false; 

希望它可以幫助

+0

這沒有什麼區別。 –

+0

嘗試$(this).find('a')。click() – ysrb

0

另一種方式來解決這個無javascript可以設置CSS顯示阻止的動作鏈接。

這樣做意味着操作鏈接佔用表格單元格內的100%寬度,因此給用戶點擊的面積更大。

一些需要注意的 - 如果你的TD有填充然後theres將是其中填充存在即在TD一個元件之間的間隙。

所以你的CSS看起來是這樣的

td .a 
{ 
    display: block; 
} 

或因爲你有一個類

a.code-link 
{ 
    display: block; 
} 
相關問題