jQuery .on('点击')只能运行一次

时间:2016-04-14 16:26:27

标签: jquery ajax asp.net-ajax

我试图在sudo docker ps>中制作一个字形,表示您是按照升序还是降序排序。显示的原始glyphicon是" glyphicon-menu-up"。

<th

我已经使jQuery(&#39;点击&#39;)功能正常工作(改为&#34; glyphicon-menu-down&#34;),但它只能工作一次。不仅如此,当数据被排序时,glyphicon会自动恢复为&#34; glyphicon-menu-up&#34;自己约0.5秒后。 (这可能与@ Ajax.ActionLink函数有关吗?)

我已经尝试了我在本网站上找到的所有答案,包括 .on,.off,.delegate,e.preventDefault ,以及此格式:

<table class="table ws-table-list table-hover">
<thead class="hidden-sm hidden-xs">
    <tr>
        <th class='hidden-sm hidden-xs'>
            <span class="glyphicon glyphicon-menu-up"></span>
            @Ajax.ActionLink("Amount", Model.PagedData.ActionMethod, new { pageNumber = Model.Number + 1, sortColumn = "amount", sortAscending = Model.PagedData.SortAscending, previousSortColumn = Model.PagedData.PreviousSortColumn }, new AjaxOptions
                {
                    HttpMethod = "GET",
                    InsertionMode = InsertionMode.Replace,
                    UpdateTargetId = Model.PagedData.UpdateTargetId
                })
        </th>
    </tr>
</thead>
...
</table>

我确定答案非常简单,但我猜不到。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试更改放置事件侦听器的位置:

$('body').on('click', '.ws-table-list th', function() {
     console.log('click');   // This only runs once in the console
     $('span', this).toggleClass('glyphicon-menu-up glyphicon-menu-down');
});