相关疑难解决方法(0)

事件传播,叠加和拖放事件

当用户将文件拖到窗口上时,我想在视口上叠加div.

但是,我遇到了事件传播的问题.当我设置的叠加display: block它似乎火了一个dragleave事件,然后又dragenter另,然后dragleave再次,所以它总是在后dragleave状态.当然我打电话e.stopPropagation()e.preventDefault()事件对象,但它似乎没有什么区别.

在窗口上拖动某些内容时,console.log()输出:

dragenter
dragenter
dragleave
dragenter
dragleave
Run Code Online (Sandbox Code Playgroud)

css.默认#overlay设置为display: none,但会显示是否bodydragenter类:

    body {
        position: absolute;
        height: auto;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0;
        padding: 0;
    }

    #overlay {
        position: absolute;        
        height: auto;
        width: auto;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url(bg.png) repeat-x top right, url(bg.png) repeat-x bottom left, url(bg.png) repeat-y top right, url(bg.p …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery html5 javascript-events

12
推荐指数
2
解决办法
7275
查看次数

标签 统计

css ×1

html5 ×1

javascript ×1

javascript-events ×1

jquery ×1