Cordova 使用OnsenUI,在图形元素上拖动时,如何禁用页面滚动和拖动以刷新?

Cordova 使用OnsenUI,在图形元素上拖动时,如何禁用页面滚动和拖动以刷新?,cordova,onsen-ui,dygraphs,Cordova,Onsen Ui,Dygraphs,我正在使用Cordova和OnsenUI创建一个应用程序。OnsenUI有一个Pull-To-Refresh功能。我还使用动态图显示了一个图形。用户可以按住并缩放图形,然后在放大后拖动图形以查看图形的不同部分。然而,一旦用户在图形上拖动,图形就会移动,但它也会开始激活拉刷新。此外,如果用户使用的是小屏幕手机,您必须向下滚动才能看到图形,如果用户向上滚动图形,则会导致整个页面向上滚动 我想知道如果用户正在触摸或移动(我相信是“触摸”和“触摸移动”)图形,如何使页面滚动和拖动刷新不激活,但一旦他们停

我正在使用Cordova和OnsenUI创建一个应用程序。OnsenUI有一个Pull-To-Refresh功能。我还使用动态图显示了一个图形。用户可以按住并缩放图形,然后在放大后拖动图形以查看图形的不同部分。然而,一旦用户在图形上拖动,图形就会移动,但它也会开始激活拉刷新。此外,如果用户使用的是小屏幕手机,您必须向下滚动才能看到图形,如果用户向上滚动图形,则会导致整个页面向上滚动

我想知道如果用户正在触摸或移动(我相信是“触摸”和“触摸移动”)图形,如何使页面滚动和拖动刷新不激活,但一旦他们停止触摸图形,页面滚动和拖动刷新的正常功能将再次工作


谢谢。

考虑到
ons拉钩
有一个
被禁用的属性(),您可以很容易地实现这一点

使用
id=“myGraph”
将图形包装在
div
元素中,并在
div
元素中执行触摸操作时设置
禁用属性。触摸动作结束后,应再次启用挂钩

代码如下:

ons.ready(函数(){
var-graph=document.getElementById(“myGraph”);
var pullHook=document.querySelector(“on pullHook”);
graph.addEventListener('touchstart',函数(){
setAttribute(“disabled”,true);
});
graph.addEventListener('touchend',函数(){
图.删除属性(“解散”);
});
});

希望有帮助

它工作得很好,但是,一旦我触摸到图形,并停止,然后我试图拉刷新它“怪胎”。我能解释它的最好方式是它闪烁,永远不会让下拉完全发生。有什么想法吗?所以,在进一步阅读文档并由您领导之后,我能够100%地实现这一点。唯一的区别是,我没有使用
setattribute
removeAttribute
而是使用
setDisabled(true)
setDisabled(false)
。谢谢你给我指明了正确的方向!行为应该是相同的,可能有bug,但我同意使用
setDisabled
方法更合适、更优雅。很高兴这有帮助:)