首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery日历事件-未使用ftLab快速单击触发的单击

jQuery日历事件-未使用ftLab快速单击触发的单击
EN

Stack Overflow用户
提问于 2013-12-19 13:48:35
回答 3查看 1.5K关注 0票数 31

我正在使用AngularJS日历(本质上是Adam Shaw为angular包装的jQuery完整日历)。在我引入ft实验室(https://github.com/ftlabs/fastclick)的fastclick.js之前,日历事件-项目点击功能在ipad和台式机上都能正常运行。现在,日历事件-项目点击只在桌面上有效,但在ipad上根本不起作用!

然而,其他的ng-click在桌面和iPad上都能很好地使用fastclick。

我通过简单地添加触摸端事件侦听器并在其中调用点击事件来理解fastclick.js是如何工作的,我不明白为什么这会在日历事件-项目点击中失败。

注意:我尝试使用ngTouch而不是fastclick,但是他们的ng-click不会变得很快。根据谷歌的说法,ngTouch的ng-click不能与jQuery一起使用

EN

回答 3

Stack Overflow用户

发布于 2015-04-30 15:22:57

如果所有其他方法都失败了,你可以使用可视事件来检查哪些事件链接到你的元素:http://www.sprymedia.co.uk/article/visual+event这会给任何网页添加一个覆盖层,让你直观地检查链接到元素的JS代码(它会在弹出窗口中显示代码片段)。

通过这种方式,您可以很容易地查看是否一切都设置正确。

附言:我没有链接到这个工具或它的制造商。

票数 1
EN

Stack Overflow用户

发布于 2015-07-29 01:05:09

我也有过类似的问题。fastclickjs会阻止每个jQuery .click()。但是如果你在没有jQuery的情况下发送事件,一切都会正常工作。

票数 1
EN

Stack Overflow用户

发布于 2015-10-14 19:45:58

这是一个古老的问题,但也许它对某些人有帮助。

我也有类似的问题,即使是fastclick.js也没有帮助,在iPad上也不够快。

问题是,在正常的浏览器上,点击事件(在iPad上)在touchstart上延迟300ms,在touchend上延迟300ms。

fastclick.js也和你的日历有一些冲突。

所以我写了一个自己的指令,并将其命名为ng-mobile-click

指令ngMobileClick:

代码语言:javascript
运行
复制
App.directive("ngMobileClick", [function () {
    return function (scope, elem, attrs) {
        elem.bind("touchstart click", function (e) {
            e.preventDefault();
            e.stopPropagation();

            scope.$apply( attrs["ngMobileClick"] );
        });
    }
}]);

模板中的使用率:

代码语言:javascript
运行
复制
<input type="button" value="somevalue" ng-mobile-click="someFunction(someParam)"/>

的优势:永远不会与标准的点击事件冲突。

Disadvantage你必须在需要的地方重构你的代码

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20674324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档