几天来一直在使用 webkit-overflow-scrolling touch。我正在尝试做一些非常直截了当的事情——但事实证明这很棘手!
当我点击某个元素时,我想通过 JS 抓取它并用它做一些事情。然而,当它在一个 'webkit-overflow-scrolling: touch' div 中时,一旦 iOS 的动量滚动接管,元素似乎就跟不上。IE 我开始滚动,当列表仍在滚动时,我点击一个,它似乎访问了不正确的元素?理想情况下,我想确定动量滚动何时开始,以及它是否仍在进行中——点击只是停止它而不是一开始选择一个元素,但我什至还不能让基础工作。
我正在使用 iOS 6.01 的 iPad 3 上对此进行测试。似乎 webkit 滚动非常有问题,因为 onscroll 事件似乎也很喜怒无常,有时会在滚动结束以外的时间触发,这与通用 iOS 使用不同。
如果有人对如何在不使用 iScroll 或关闭 webkit-overflow-scroll 的情况下正常工作有任何想法,将不胜感激!
<style>
li {
height: 40px;
background: #999;
}
</style>
<div style="-webkit-overflow-scrolling: touch; height: 400px; background: #CCC; width: 400px; overflow: scroll;" >
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<li>12</li>
<li>13</li>
<li>14</li>
<li>15</li>
<li>16</li>
<li>17</li>
<li>18</li>
<li>19</li>
<li>20</li>
<li>21</li>
<li>22</li>
<li>23</li>
<li>24</li>
<li>25</li>
<li>26</li>
<li>27</li>
</ul>
</div>
<div id="content"></div>
<script>
var elements = document.getElementsByTagName('li');
for(var i = 0, len = elements.length; i < len; i++) {
elements[i].ontouchstart = function (e) {
document.getElementById('content').innerHTML = document.getElementById('content').innerHTML+this.innerHTML;
}
}
</script>