簡體   English   中英

由html5sortable的sortupdate觸發的JavaScript被運行兩次

[英]JavaScript triggered by html5sortable's sortupdate is being run twice

在aspx頁面上,我有一個使用此插件制作的可排序列表

<ul id="sortableQueue" class="sortable">
    <li style="cursor: move" data-shotid="1">Shot Name - 1</li>
    <li style="cursor: move" data-shotid="2">Shot Name - 2</li>
    <li style="cursor: move" data-shotid="3">Shot Name - 3</li>
</ul>

然后在頁面底部,我有代碼為可排序列表加載js,並設置了一個名為“ sortupdate”的函數,該函數在列表順序每次更改時運行。

<script src="js/html.sortable.js"></script>
<script>
    $('.sortable').sortable().bind('sortupdate', function (e, ui) {
        alert(ui.oldindex + ' -> ' + ui.item.index());
    });
</script>

事情變得奇怪了。 將一個項目從一個地方移動到另一個地方(例如,將項目1移到項目2的位置)時,警報將按預期工作,並返回“ 0-> 1”,但另一個警報框將顯示為完全相同的“ 0-> 1”。 在我看來,Java出於某種原因運行了兩次,但是我之前從未見過這樣的事情,也不知道是什么原因引起的。

我只需要運行一次,否則當我嘗試存儲新訂單時會發生非常奇怪的事情。

有人以前見過類似的問題,並且有什么建議嗎? 我不知道這是JavaScript問題,ASP.NET問題還是html5sortable問題,所以我什至不知道從哪里開始。

我本人只是遇到了這種情況,我認為這是警報的產物。 嘗試刪除警報,然后用console.log調用代替,並在瀏覽器檢查器的“控制台”選項卡中查看日志消息。

只需確保在釋放時刪除console.log調用即可。IE不會喜歡它,除非實際上有一個控制台。 如果您嘗試將頁面加載到常規IE中時頁面失敗,那么您就會知道這是問題,但是當您打開控制台時,頁面成功了,因此您無法找出問題所在:-(

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM