繁体   English   中英

jQuery Mobile滚动事件

[英]jQuery Mobile Scroll Events

使滚动事件系列发挥作用时存在问题(根本不只是设计上的问题)。 一直在浏览所有与此相关的文章,代码建议和其他帮助主题,但是没有人可以解释为什么这个示例根本不起作用:

基本页面html:

<!DOCTYPE html> 
<html> 
<head> 
  <title>JQM Test</title>

   <script src="/inc/jQuery/jquery-1.11.3.js"></script>
   <script src="/inc/jQuery/mobile/jquery.mobile-1.4.5.min.js"></script>
   <script type="text/javascript">
   var scroll = 0;
   $(function() {
       $(window).on('scroll',function(e) {
           console.log("Scrolled - "+scroll);
           scroll++;
       });
   });
   </script>
</head>
<body>
    Contents blah blah.
</body>
</html>

好的,因此如果您复制粘贴,包含文件需要替换,并且版本可能不同。 Anwyays进入行为。 当我取出jquery.mobile包含项时,脚本将按预期工作,只要滚动位置发生变化,便会将滚动注释记录到控制台中。

当我包含jquery.mobile时,它会在页面加载时触发一次,仅此而已。 尝试在jquery脚本部分,scrollstart和scrollstop事件中更改文档/窗口。 甚至尝试使用本机javascript将偶数显式绑定到滚动。 同样的结果,在不包含jqm的情况下一切正常,在包含jqm时失败。

有人可以向我解释为什么JQM东西破坏了滚动功能吗?

编辑:

尝试了以下JS函数,但结果完全相同(该函数直到添加了JQM包含)

    $(document).on("scrollstart",function(){
           ****

    $(document).on("scrollstop",function(){
        ****

    $(window).on("scrollstart",function(){
           ****

    $(window).on("scrollstop",function(){
        ****


    $(document).scrollstart(function(){
           ****

    $(document).scrollstop(function(){
        ****

    $(window).scrollstart(function(){
           ****

    $(window).scrollstop(function(){
        ****

 window.onscroll=myFunction;

 document.onscroll=myFunction;

 window.attachEvent("scroll",myFunction,false);

 document.attachEvent("scroll",myFunction,false);

尝试这个 :

   $(function() {
       $(window).on('scroll',function(e) {
           console.log("Scrolled - "+scroll);
           window.scrollBy(100, 0); // for scroll horizontally.
       });
   });

在@FraserCrosbie的帮助下,原来我只是忽略了一点CSS: https ://jsfiddle.net/nzwodyte/4/

CSS被分配给[data-role=page]{元素,并且具有height: 100%position: relative标记。

没意识到JQM在没有声明上述标记的情况下就将data-role =“ page”分配给了HTML中的元素。

因此,对于存在相同问题的任何人,请检查页面的高度和位置CSS(从调试的角度出发,而不是原始DOM中)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM