问题标签 [pagey]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - jQuery(滑动与触摸)pageX 和 pageY 不断返回 0
我在我的 iPhone 上玩 touchstart 和 touchend 事件。我构建了一个带有 div 的示例页面,如果您触摸它并滚动页面,它应该返回开始和结束位置的 y 坐标。
链接:http: //jsbin.com/ibemom/2
jQuery:
但是,当我在 iPhone 上加载该页面时,警报会一直将这两个值报告为零。有人看到我的东西有什么问题吗?
更新:
我在 jQuery Mobile 项目中偶然发现了这段代码:https ://github.com/jquery/jquery-mobile/issues/734
它的评论很突出:
它没有说明为什么会这样,但至少我找到了其他人看到同样的事情。将挖掘该页面上的示例代码以查看解决方案是否存在。
更新二:
好吧,在查看了上面链接中的示例代码之后,看起来这将返回一个实际值:
问题是,我现在意识到这不是我需要的。它返回我在将事件附加到与 HTML 文档相关的对象中触摸的区域的 Y 偏移量......而不是浏览器窗口。
我的目标是找出触摸在屏幕上从哪里开始,在哪里结束……然后比较这些值。如果它们有很大不同,那么我们假设执行了滑动......而不是触摸。
更新三:
我还找到了对这些示例的引用:
虽然我似乎也无法让那些工作。两者都返回未定义的错误。
更新四:
看起来一种解决方案是在文档本身上跟踪 offset()。我可以将 touchend 事件应用于文档,然后检查它的偏移量。
这样做的问题是我的 touchend 事件将首先在我的页面上的元素上触发,然后它会在文档上触发它(冒泡)。所以在我需要弄清楚在对象 touchend 事件上要做什么之前,我实际上无法确定它是触摸还是滑动。
还在琢磨这个。。。
jquery - 为什么此工具提示遵循相反的垂直方向?
我正在使用 Jquery 和 CSS 开发一个“自制”工具提示,
似乎工作正常,
它位于“触发器”元素的顶部(并水平居中),但是当我向上移动鼠标时,它会下降,相反,
我做错了什么?
internet-explorer - pageY = -1 during mouseleave in IE
I have such code:
It works good in all browsers excepts IE (all versions). For example, when developer tab in ie is open and you move mouse to the bottom of your screen (through this developer tab), mouseleave event fire but pageY = -1 instead of 700px in FF or Chrome or Opera. H
How can i fix it?
javascript - Microsoft Edge 浏览器的 Javascript pageY 问题
我想创建一个简单的脚本来检测用户鼠标是否离开窗口。解决方案已在此处通过使用 mouseout 事件进行了描述。这个解决方案的问题是,如果用户使用鼠标滚动,它也会触发动作。e.pageY < jQuery(window).scrollTop()
所以我在这段代码中添加了额外的 if 条件:
它在所有浏览器中都能正常工作,Microsoft Edge 除外。在 Edge e.pageY 中不需要 0 或 -1,-2... 就像在其他浏览器中一样,但它将是 50,34,... (取决于您移动鼠标的速度)。
我想知道这个问题是否有任何简单的解决方案。