SortableJS 无法在桌面上使用 Onsen UI
SortableJS not working with Onsen UI on desktop
刚刚从 Sortable's docs.
中复制粘贴了示例代码
它在任何触摸屏设备上都能正常工作,但一旦我在 Chrome 或任何其他桌面浏览器上查看它,它就会停止工作。没有错误,就是不能再拖了。
Onsen UI 的 JS 可能会覆盖拖动事件或类似的东西,但无法找到解决方案。
根据此处给出的答案:https://github.com/SortableJS/Vue.Draggable/issues/508#issuecomment-488314106
If anybody faces this issue then the following is a workaround for this;
document.body._gestureDetector.dispose()
If you need to enable it again for any reason, use the following
document.body._gestureDetector = new ons.GestureDetector(document.body);
由于我的代码在 Vue 组件中使用了 Sortable,因此我最终将其作为 Sortable.create
选项的一部分来执行。它似乎工作得很好:
onChoose: function(event) {
if(this.$ons) {
document?.body?._gestureDetector?.dispose();
}
},
onStart: function(event) {
if(this.$ons) {
document?.body?._gestureDetector?.dispose();
}
},
onEnd: (event) => {
if(this.$ons) {
document.body._gestureDetector = new this.$ons.GestureDetector(document.body);
}
},
刚刚从 Sortable's docs.
中复制粘贴了示例代码它在任何触摸屏设备上都能正常工作,但一旦我在 Chrome 或任何其他桌面浏览器上查看它,它就会停止工作。没有错误,就是不能再拖了。
Onsen UI 的 JS 可能会覆盖拖动事件或类似的东西,但无法找到解决方案。
根据此处给出的答案:https://github.com/SortableJS/Vue.Draggable/issues/508#issuecomment-488314106
If anybody faces this issue then the following is a workaround for this;
document.body._gestureDetector.dispose()
If you need to enable it again for any reason, use the following
document.body._gestureDetector = new ons.GestureDetector(document.body);
由于我的代码在 Vue 组件中使用了 Sortable,因此我最终将其作为 Sortable.create
选项的一部分来执行。它似乎工作得很好:
onChoose: function(event) {
if(this.$ons) {
document?.body?._gestureDetector?.dispose();
}
},
onStart: function(event) {
if(this.$ons) {
document?.body?._gestureDetector?.dispose();
}
},
onEnd: (event) => {
if(this.$ons) {
document.body._gestureDetector = new this.$ons.GestureDetector(document.body);
}
},