在aspx页面上,我有一个使用this plugin.
的可排序列表<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并设置一个名为&#34; sortupdate&#34;的函数。每次列表顺序发生变化时都会运行。
<script src="js/html.sortable.js"></script>
<script>
$('.sortable').sortable().bind('sortupdate', function (e, ui) {
alert(ui.oldindex + ' -> ' + ui.item.index());
});
</script>
在这里,事情变得奇怪。在将项目从一个地方移动到另一个地方时,例如项目1到项目2的点,警报按预期工作,返回&#34; 0 - &gt; 1&#34;但是,然后另一个警告框显示完全相同的&#34; 0 - &gt; 1&#34 ;.在我看来,Javascript由于某种原因运行了两次,但我以前从未见过这样的事情,并且不知道是什么导致它。
我只需要运行一次,否则当我尝试存储新订单时会发生非常奇怪的事情。
之前有人见过类似的问题,并有一些建议吗?我无法判断它是JavaScript问题,ASP.NET问题还是html5难题,所以我甚至不知道从哪里开始。
答案 0 :(得分:0)
我自己就碰到了这个,我认为它是警报的神器。尝试删除警报,并将其替换为console.log调用,并在浏览器检查器的控制台选项卡中查看日志消息。
请确保在发布时删除console.log调用...除非实际存在控制台,否则IE不喜欢它。如果在尝试将其加载到常规IE中时页面失败,您就会知道这是问题,但是当您打开控制台时,它会成功,因此您无法找到问题所在: - (