Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Html5拖放,dragstart后不触发Mousewell事件_Javascript_Html_Angular_Typescript_Drag And Drop - Fatal编程技术网

Javascript Html5拖放,dragstart后不触发Mousewell事件

Javascript Html5拖放,dragstart后不触发Mousewell事件,javascript,html,angular,typescript,drag-and-drop,Javascript,Html,Angular,Typescript,Drag And Drop,我有一个应用程序,我正在做html5拖放分类,所以用户可以采取分类和移动到他想要的地方 一切正常,但有时类别列表很大,如果用户需要向下移动,他们希望使用鼠标滚轮滚动,但问题是dragstart后不会触发此事件 <!DOCTYPE html> <html> <head> <script> function allowDrop(ev) { ev.preventDefault(); } function drag(ev) {

我有一个应用程序,我正在做html5拖放分类,所以用户可以采取分类和移动到他想要的地方

一切正常,但有时类别列表很大,如果用户需要向下移动,他们希望使用鼠标滚轮滚动,但问题是dragstart后不会触发此事件

<!DOCTYPE html>
<html>

  <head>
  <script>
function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
}

document.addEventListener("wheel", function(e){
        console.log(e);
    }, false);

</script>
</head>
<body>


<div id="drag1"  draggable="true"
ondragstart="drag(event)" width="336" height="69"  style="    border: 1px solid #aaaaaa;">Dragg me</div>

</body>
</html>
注:是的,如果光标移到底部,浏览器将滚动,但在我的应用程序中,用户体验很重要,因为有时他们会对50个类别进行排序,这需要很多时间

下面是示例代码,如果您开始将div和鼠标滚轮拖动到控制台没有打印事件,这意味着该事件不会被触发

<!DOCTYPE html>
<html>

  <head>
  <script>
function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
}

document.addEventListener("wheel", function(e){
        console.log(e);
    }, false);

</script>
</head>
<body>


<div id="drag1"  draggable="true"
ondragstart="drag(event)" width="336" height="69"  style="    border: 1px solid #aaaaaa;">Dragg me</div>

</body>
</html>

功能allowDrop(ev){
ev.preventDefault();
}
功能阻力(ev){
ev.dataTransfer.setData(“文本”,ev.target.id);
}
文件.附录列表(“轮子”,功能(e){
控制台日志(e);
},假);
拖我

最后使用了ng2 dragula,因为我使用的是angular,它是

你能创建一个JSFIDLE来演示吗?@guest271314打开控制台,然后开始拖动div,按住鼠标并尝试使用滚轮,你将看不到打印出来的事件如何与
dragstart
wheel
事件相关?让我们来看看。实际上,我在所有地方都看到这种行为。很少有用户界面允许在执行拖放时滚动。真遗憾。为什么你会忽略滚动,尤其是在拖动某个东西的时候????我不明白。请有人给我解释一下。哪位天才有这个绝妙的主意?!