任何人都可以看到警报无效的原因吗?
<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;
});
答案 0 :(得分:1)
不推荐使用jQuery中的live函数:http://api.jquery.com/live/。 而不是使用live()函数,使用on()。
答案 1 :(得分:0)
1.7版之后,.live()
已被弃用..
答案 2 :(得分:0)
我怀疑这是一个弃用问题。从我所看到的,没有任何元素与类pending-accept
有任何a
元素子元素,因此你的选择器.pending-accept a
失败的原因。
答案 3 :(得分: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>