iscroll中事件点击触发两次解决方案

来源: 电脑维修教程   阅读:     发表时间:

iscroll是我们在做手机网页中常用的滑动控件之一。单说其功能已相当富厚。但个别时候也是会掉坑的,正好这次就遇上了。在android的app中嵌入网页时不少

iscroll是我们在做手机网页中常用的滑动控件之一。单说其功能已相当富厚。但个别时候也是会掉坑的,正好这次就遇上了。在android的app中嵌入网页时不少手机会呈现一次点击两次触发的现象。经过一段时间的折腾,总算想到了一个还算合理的解决放案。

之前也看了很多伴侣的文章里有讲这个问题。好比使用一个变量记录执行的间隔时间什么的。感觉每次都要去撸一下,比力累人。本人喜欢搬砖前先选东西。其实解决这个要领很简单。iscroll呢其实是截获了点击浏览器时的touchstart和touchend事件。在touchend的时候使用js去触发元素的onclick事件(_end这个函数)。而在实际操纵中,电脑维修技术,先执行了touchend,然后再执行了一次onclick的相关函数。这样就形成了头疼的一次点击两次触发。这原来就一个不是问题的问题。之所以说这是个问题,是因为这样是我们不得不去看一看iscroll的源代码。解决这个问题的途径就是拒绝第二次执行函数。而我的逻辑也正是如此。我们可以在执行完_end函数中的触发click事件的代码后,移除onclick事件上绑定的函数。然后在按时几百毫秒之后在从头把这个事件添加上去。举个例子:

代码如下:

//处理惩罚之前

;双击测试;

//处理惩罚之后

;双击测试;

在移除onclick相关函数之后这个第二次就自然不会再触发test函数了。为了下一次还能继续使用我们可以使用settimeout的方法把onclick的内容还原回去。

改造后的iscroll源代码(约550行~570行的样子,_end函数中):

以上是:解决iscroll中事件点击触发两次解决方案问题的详细资料教程

?
热门链接: 机顶盒 | 主板维修 | 声卡怎么安装 | 路由器怎么设置 | 电脑内存维修技术 | 维修大全?| 主板维修资料 | 电脑声卡音响故障维修 | 内存 | 显示器 | 电源维修教程 | cpu | 硬盘 | 显卡 |win8操作系统教程|linux操作系统教程|ubuntu操作系统教程|mac苹果操作系统教程|execl教程
友情链接: ?苹果手机维修?| 更多...