我有一个用淘汰赛构建的动态列表视图:
<ul class="menu-items-listview" id="items-list"
data-role="listview" data-bind="foreach: Items" >
<li class="menu-item">
<div class="menu-item-container">
<div class="menu-amount-container">
<a id="dec-button" data-bind="click:$root.decCount, visible:Count">-</a>
<span data-bind="text: Count, visible: Count" class="item-amount-counter"></span>
<a id="inc-button" data-bind="click:$root.incCount">+</a>
</div>
</div>
</li>
</ul>
在桌面上一切正常。每次刷新列表视图后,在触摸设备上,首先点击 a#inc-button
或#dec-button
将触发两次。然后一切正常,直到刷新列表视图。
线索1:页面上有两个iScroll div,看起来可能会导致问题。论坛上有关于 jQuery 事件订阅但没有淘汰绑定的问题:
线索 2:在列表视图刷新后,如果我触摸屏幕滚动然后按下按钮,则触发一次操作
编辑:这绝对是一个 iScroll 问题。我禁用了 iScroll 脚本,并且动作会按原样触发一次