Vin*_*nky 8 javascript html5 drag-and-drop html5-draggable
我正在努力克服HTML5拖延,因为我想要实现特定的东西.
我有一个可以使用HTML5 API拖动的div,但我只想让用户真正意味着拖动(因为它之后会触发一些更多的处理程序).
这就是为什么我dragstart在满足某个条件时触发的原因mousemove.
var fnMousemove = function (oEvent) {
if (myCondition) {
document.removeEventListener("mousemove", fnMousemove);
oDraggable.setAttribute("draggable", true);
oDraggable.addEventListener("dragstart", fnDragstart);
oDraggable.addEventListener("drag", fnDrag);
oDraggable.addEventListener("dragend", fnDragend);
// Fire a dragstart event, now that we know what to do with it
var e = document.createEvent("MouseEvents"); //$NON-NLS-1$
e.initEvent("dragstart"); //$NON-NLS-1$
oDraggable.dispatchEvent(e);
}
};
Run Code Online (Sandbox Code Playgroud)
但是正如你已经可以猜到的那样,在dragstart正确触发的情况下,这不起作用,但没有其他拖拽事件(drag,dragend...).
有什么我在那里没有妥善处理?或者你能看到一个解决方法来从mousemove处理程序启动浏览器的拖放吗?(按下鼠标按钮)
提前致谢!
你可以在这里找到一个简单的运行示例
看来通常触发Dragstart 的机制会预测通常在Dragstart 之后发生的其他事件并相应地触发它们。
因此,如果您自己触发Dragstart事件,那么您还必须自己实现流程的其余部分。
为了特别解决您的问题,我建议您创建如下用户体验:
它只是意味着您应该寻找的是如何根据拖放 API 的当前状态来改善用户体验。
| 归档时间: |
|
| 查看次数: |
2025 次 |
| 最近记录: |