我正在使用 Kendo Mobile 开发一个 Web 应用程序,并将抽屉小部件用作菜单。我的 View 之一是 Google map ,出于显而易见的原因,我想在此 View 中禁用 Kendo Mobile 抽屉的滑动打开功能...
我试过以下方法:
绑定(bind)抽屉的beforeShow事件
...如果当前 View 是 map View 则阻止它打开
beforeShow: function (beforeShowEvt) {
if(app.view().id == "#stationMap") {
beforeShowEvt.preventDefault();
}
}
问题在于,当我点击顶部栏中的菜单按钮时,它也会触发(并阻止抽屉打开)。
我查看了 beforeShowEvt,似乎无法找到任何信息让我知道它是通过滑动还是通过菜单点击触发的。
绑定(bind)到包含div的谷歌地图
...并捕获 touchstart 事件以阻止它们传播和被 Kendo 拾取。
这根本不起作用。
最佳答案
这是我解决问题的方法:
向 Google map 的
dragstart
事件添加了一个事件处理程序,该事件将标志设置为 true向抽屉按钮的
touchstart
事件添加事件处理程序,将此标志设置为 false在 Drawer 的 beforeShow 事件中添加了检查,以查看标志是否为
true
,如果为preventDefault();
像魅力一样工作!
关于javascript - 在特定 View 中禁用抽屉的滑动打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18659149/