jquery锚点击不起作用

时间:2013-06-27 21:25:03

标签: jquery asp.net-mvc-4

任何人都可以看到警报无效的原因吗?

<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;
        });

4 个答案:

答案 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>