MyACG 2022-03-18 08:09 采纳率: 100%
浏览 87
已结题

JS脚本,有一个判断不知该怎么描叙!

问题遇到的现象和发生背景

很明显是自动判断不行
我的思路是
如果鼠标把文件拖到文件夹上则执行命令
copy move
如果只是随便在空白区拖一下松开则执行命令
ffplay.exe -noborder -x 960 -y 540 -exitonkeydown {filepath}

问题相关代码,请勿粘贴截图
function OnClick(clickData) {
    var cmd = clickData.func.command;
    cmd.deselect = false; // Prevent automatic deselection
 
    if (clickData.func.fromdrop) {
        cmd.RunCommand('copy move');
    } else {
        cmd.RunCommand('ffplay.exe -noborder -x 960 -y 540 -exitonkeydown {filepath}');
    }
}

我想要达到的结果

img

  • 写回答

2条回答 默认 最新

  • 凌晨 || AmsWait 2022-03-18 10:23
    关注

    描述的太模糊了,你是需要知道怎么判定是否拖到文件夹或者空白处么

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    MyACG 2022-03-18 14:05

    你好!我的初步想法是这样,能否请教一下该怎么写。

    回复
    凌晨 || AmsWait 回复 MyACG 2022-03-19 08:00

    这个还是比较简单的,用原生的拖放API就可以实现:https://developer.mozilla.org/zh-CN/docs/Web/API/HTML_Drag_and_Drop_API
    demo如下

    
    ```html
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
                user-select: none;
                box-sizing: border-box;
            }
    
            p {
                width: fit-content;
                line-height: 30px;
                border: 1px solid royalblue;
            }
        </style>
    </head>
    
    <body>
        <p draggable="true">文件夹001</p>
        <p draggable="true">文件夹002</p>
        <p draggable="true">文件夹003</p>
        <p draggable="true">文件01</p>
        <p draggable="true">文件02</p>
        <p draggable="true">文件03</p>
        
        <div id="info"></div>
        <script>
            function dragStart(event) {
                event.dataTransfer.setData("text", event.target.innerText)
            }
    
            function dragOver(event) {
                event.preventDefault()
            }
    
            function ondrop(event) {
                event.preventDefault();
    
                let to = event.target.innerText,
                    from = event.dataTransfer.getData("text");
    
                if (event.target.tagName.toLocaleLowerCase() == 'p') {
                    document.querySelector('#info').innerText = `将<${from}>挪到了<${to}> ---- run  copy move`
                } else {
                    document.querySelector('#info').innerText = 'run other'
                }
            }
    
    
            document.documentElement.addEventListener('dragstart', function (event) {
                dragStart(event)
            })
            document.documentElement.addEventListener('dragover', function (event) {
                dragOver(event)
            })
            document.documentElement.addEventListener('dragend', function (event) {
                dragOver(event)
            })
            document.documentElement.addEventListener('drop', function (event) {
                ondrop(event)
            })
        </script>
    </body>
    
    </html>
    
    
    

    ```

    1
    回复
    MyACG 回复 凌晨 || AmsWait 2022-03-19 09:29

    你好,谢谢回复,这代码在html上可以通过。但我是用在Directory Opus无效。如果可以的话能否帮我完善下我主楼发的代码,谢谢。

    回复
    展开全部15条评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月19日
  • 创建了问题 3月18日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部