2013-06-27 150 views
-2

任何人都可以看到爲什麼警報不工作?jquery錨點擊不工作

<table class="result-table pending-accept"> 
    <thead class="bottom-align"> 
     <tr> 
      <th>Code</th> 
      <th>Source</th> 
      <th>Last Transmitted</th> 
      <th>Last Staged</th>    
      <th></th> 
     </tr> 
    </thead> 
    <tbody> 
     @foreach (var trans in processItems) 
     { 
      <tr> 
       <td class="autosize"><div>@trans.Code</div></td> 
       <td class="autosize"><div>@trans.Description</div></td> 
       <td class="autosize"><div>@(trans.HasBeenLoadedToVault ? trans.VaultLoadDt.ToString() : "")</div></td> 
       <td class="autosize"><div>@trans.StageLoadDt</div></td> @*     <td class="autosize"><div><a href="@Url.Action("Accept", new { id = trans.Id,loadSource = trans.LoadSource})" class="button grid-sized">Accept</a></div></td>*@ 
       <td class="autosize"><div><a href="#" data-id="@trans.Id" data-loadSource="@trans.LoadSource" class="button grid-sized acceptButton">Accept</a></div></td> 
      </tr> 
     } 
    </tbody> 
</table> 



<script type="text/javascript"> 
    $(document).ready(function() { 



      $(".pending-accept a").live('click',function (e) { 
       e.preventDefault(); 
       alert('Clicked!'); 
       return false; 

      }); 



    }); 

</script> 

編輯這個工作

 $(document).on('click', '.pending-accept a', function (e) { 
      e.preventDefault(); 
      alert('Clicked!'); 
      return false; 
     }); 
+1

請將您的解決方案作爲答案發布,而不是編輯問題。 – ChrisF

+0

如果這樣做是因爲內容之前添加了內容,信息很難檢測到,基於您的問題 – Jorge

回答

0

1.7版本後,.live()已經被廢棄了..

0

我懷疑這是一個棄用的問題。從我所看到的情況來看,pending-accept類別中沒有任何元素與a元素子元素有關,因此您的選擇器.pending-accept a失敗。

0

如果您使用的是最新版本的jQuery或任何等於或大於1.7的版本,請使用on()而不是live()讓警報框正常運行。

<script type="text/javascript"> 
$(document).ready(function() { 
    $(".pending-accept a").on("click", function(e) { 
     e.preventDefault(); 
     alert('Clicked!'); 
     return false; 
    }); 
}); 
</script>