2013-04-22 52 views
2

使用AppJS(http://appjs.org/)基本上给出了一个的NodeJS WebKit的窗口的工作。 我正在尝试利用我的代码中使用的文件和URL的拖放事件。AppJS拖放事件从来没有发射

的拖放短代码可以在这里找到:https://github.com/appjs/appjs/wiki/HTML5:-Drag-&-Drop-from-Desktop

我已经用于创建窗口的代码:

var app_window = appjs.createWindow({ 
    width : 200, 
    height : 200, 
    showChrome : true, //display as standard os window with max/min/close buttons 
    alpha: false, 
    autoResize: true, //adjust window size automatically according to content. 
    resizable: true, //allow user resize of window 
    margin: 0, 
    disableSecurity:true, //turn off security restrictions. 
    showResizeGrip:false, //show/hide the resize grip. 
    name:'Drag and Drop', //undocumented parameter 
    opacity:1, 
    fullscreen:false, 
    topmost:true 
}); 


事件处理代码:

var window_drop = function(event) { // this code never fires. 
    event.preventDefault(); 
    console.log('drop event'); 
}; 


,我已经为触发该事件的代码:

app_window.on('ready', function() { 
    app_window.require = require; 
    app_window.process = process; 
    app_window.module = module; 
    app_window.console = console; 

    app_window.frame.show(); 
    app_window.frame.center(); 

    app_window.addEventListener("drop", window_drop); 
}); 

规格:我在Mac OSX Lion上运行NodeJS 32位(AppJS要求)。
我知道AppJS是在它的起步阶段,但是这应该工作。

可能是什么问题呢?为什么事件从未解雇?

+0

你有什么@客户端?也许你阻止它。 – 2013-04-22 12:18:08

+0

没有“客户端”,因为这不是传统的服务器。唯一的“客户端”我想你可能会被提到的index.html页面是AppJS加载到WebKit的,这是空白的,除了一个</head><body></body></html> – <span class="text-secondary"> <small> <span>2013-04-22 12:20:51</span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">是在大多数情况下,有一个客户端,服务器'app.js'和文件夹'content'。你有客户端和服务器端的JavaScript。但阅读该评论意味着你的客户端没有JavaScript。 – <span class="text-secondary"> <small> <span>2013-04-22 12:26:06</span> </small> </span> </p> </div> </div> </div> </div> </div> </article> </div> <div class="answer-title"> <span class="text-logo margin-top-sm">A</span> <h2 class="title h4">回答</h2> </div> <div class="item-description text-md markdown-body margin-bottom-40 voidso"> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">0<i class="fa fa-thumbs-up"></i></span> </div> <div class="post-offset"> <div class="answer fmt"> <p>我不完全知道为什么你的方法是行不通的,但尽量我使用的方法(和它的作品): -</p> <p>在你的主HTML,添加脚本标签那里,然后附上您的在应用程序就绪事件内部放置事件,如下所示:</p> <pre><code class="prettyprint-override">addEventListener('app-ready', function(e){ window.addEventListener("drop", window_drop); window.dispatchEvent(new Event('app-done')); }); </code></pre> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/17326124">来源</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2013-06-26 16:57:12</span> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/679829/">Irfan</a></span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> </div> </article> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4319274062" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">相关问题</div> <ul class="relative_list"> <li> 1. <a href="http://cn.voidcc.com/question/p-cyomilca-mg.html" target="_blank" title="HTML5的拖放,在Firefox中没有触发的“拖放”事件"> HTML5的拖放,在Firefox中没有触发的“拖放”事件 </a> </li> <li> 2. <a href="http://cn.voidcc.com/question/p-mamxozqb-en.html" target="_blank" title="html5 - 拖放 - 不触发拖放事件"> html5 - 拖放 - 不触发拖放事件 </a> </li> <li> 3. <a href="http://cn.voidcc.com/question/p-mibsmbcm-hm.html" target="_blank" title="有没有帖子拖放事件?"> 有没有帖子拖放事件? </a> </li> <li> 4. <a href="http://cn.voidcc.com/question/p-bcfzddey-ss.html" target="_blank" title="拖放事件"> 拖放事件 </a> </li> <li> 5. <a href="http://cn.voidcc.com/question/p-woknfzdq-or.html" target="_blank" title="onkeypress事件没有发射在即"> onkeypress事件没有发射在即 </a> </li> <li> 6. <a href="http://cn.voidcc.com/question/p-ragicwhl-ck.html" target="_blank" title="WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION是从来没有发射"> WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION是从来没有发射 </a> </li> <li> 7. <a href="http://cn.voidcc.com/question/p-dbjznjwk-ns.html" target="_blank" title="验证是从来没有发射"> 验证是从来没有发射 </a> </li> <li> 8. <a href="http://cn.voidcc.com/question/p-vhftolrl-sb.html" target="_blank" title="拖放HTML 5 jQuery:如何触发拖放事件?"> 拖放HTML 5 jQuery:如何触发拖放事件? </a> </li> <li> 9. <a href="http://cn.voidcc.com/question/p-kqlnnmdd-cx.html" target="_blank" title="拖放事件javascript"> 拖放事件javascript </a> </li> <li> 10. <a href="http://cn.voidcc.com/question/p-gdnnrcbj-nn.html" target="_blank" title="TreeViewItem拖放不会引发DragOver事件"> TreeViewItem拖放不会引发DragOver事件 </a> </li> <li> 11. <a href="http://cn.voidcc.com/question/p-vzqeqnna-rc.html" target="_blank" title="的JavaScript - dragend拖放事件不触发"> 的JavaScript - dragend拖放事件不触发 </a> </li> <li> 12. <a href="http://cn.voidcc.com/question/p-bledrtqf-kh.html" target="_blank" title="拖放事件不会触发"> 拖放事件不会触发 </a> </li> <li> 13. <a href="http://cn.voidcc.com/question/p-anujwgln-mg.html" target="_blank" title="拖放项目以触发事件"> 拖放项目以触发事件 </a> </li> <li> 14. <a href="http://cn.voidcc.com/question/p-oahgboao-ue.html" target="_blank" title="按钮的单击事件验证文本框的事件之后从来没有发射被触发"> 按钮的单击事件验证文本框的事件之后从来没有发射被触发 </a> </li> <li> 15. <a href="http://cn.voidcc.com/question/p-rcdzxrlo-d.html" target="_blank" title="的ActionScript Loader.loadBytes()默默捞出,完整的事件从来没有发射"> 的ActionScript Loader.loadBytes()默默捞出,完整的事件从来没有发射 </a> </li> <li> 16. <a href="http://cn.voidcc.com/question/p-owvzshqf-rd.html" target="_blank" title="jQuery拖放功能没有触发"> jQuery拖放功能没有触发 </a> </li> <li> 17. <a href="http://cn.voidcc.com/question/p-hqhvmvsm-q.html" target="_blank" title="从socketIo发射事件python"> 从socketIo发射事件python </a> </li> <li> 18. <a href="http://cn.voidcc.com/question/p-ftxximul-qg.html" target="_blank" title="拖放完成时拖放N拖放事件"> 拖放完成时拖放N拖放事件 </a> </li> <li> 19. <a href="http://cn.voidcc.com/question/p-zkbmqjbj-kk.html" target="_blank" title="控制事件没有从内部updatepanel发射"> 控制事件没有从内部updatepanel发射 </a> </li> <li> 20. <a href="http://cn.voidcc.com/question/p-sxatmnxx-tq.html" target="_blank" title="当没有拖动发生时,鼠标事件不会触发"> 当没有拖动发生时,鼠标事件不会触发 </a> </li> <li> 21. <a href="http://cn.voidcc.com/question/p-fsbjchyh-ms.html" target="_blank" title="jQuery拖放问题:mousemove事件没有绑定某些元素"> jQuery拖放问题:mousemove事件没有绑定某些元素 </a> </li> <li> 22. <a href="http://cn.voidcc.com/question/p-bxfhrefx-kz.html" target="_blank" title="拖放事件没有按预期工作"> 拖放事件没有按预期工作 </a> </li> <li> 23. <a href="http://cn.voidcc.com/question/p-tchmhxhx-n.html" target="_blank" title="如何拖放事件"> 如何拖放事件 </a> </li> <li> 24. <a href="http://cn.voidcc.com/question/p-aaqdxvgj-kg.html" target="_blank" title="使用FullCalendar拖放事件"> 使用FullCalendar拖放事件 </a> </li> <li> 25. <a href="http://cn.voidcc.com/question/p-rybxfvmh-hx.html" target="_blank" title="拖放和鼠标事件"> 拖放和鼠标事件 </a> </li> <li> 26. <a href="http://cn.voidcc.com/question/p-pjvyjngq-rn.html" target="_blank" title="GWT:TextField的拖放事件?"> GWT:TextField的拖放事件? </a> </li> <li> 27. <a href="http://cn.voidcc.com/question/p-natmmgwn-rp.html" target="_blank" title="jqGrid拖放接收事件"> jqGrid拖放接收事件 </a> </li> <li> 28. <a href="http://cn.voidcc.com/question/p-ybtwebia-cp.html" target="_blank" title="如何通过拖放来发布文件(从File API)"> 如何通过拖放来发布文件(从File API) </a> </li> <li> 29. <a href="http://cn.voidcc.com/question/p-sjzfeilq-bk.html" target="_blank" title="绑定到UITextField的rx_text没有触发UITextField的发射事件"> 绑定到UITextField的rx_text没有触发UITextField的发射事件 </a> </li> <li> 30. <a href="http://cn.voidcc.com/question/p-qjylneyo-ts.html" target="_blank" title="WPF拖放没有效果没有触发"> WPF拖放没有效果没有触发 </a> </li> </ul> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515421853"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> 每日一句 </div> <div class="panel-body m-b-sm m-t-sm clearfix"> 每一个你不满意的现在,都有一个你没有努力的曾经。 </div> </div> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> 最新问题 </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://cn.voidcc.com/question/p-kicdgkjm-bch.html" target="_blank" title="Primefaces MenuBar第三项不可点击?"> Primefaces MenuBar第三项不可点击? </a> </li> <li class="side_article_list_item"> 2. <a href="http://cn.voidcc.com/question/p-okrwqgdr-bca.html" target="_blank" title="Collapsable Div脚本。代码不适用于多个div"> Collapsable Div脚本。代码不适用于多个div </a> </li> <li class="side_article_list_item"> 3. <a href="http://cn.voidcc.com/question/p-ddtexakx-ut.html" target="_blank" title="如何在Xcode中修复以下错误:密钥命令必须都有标题,密钥和选择器?"> 如何在Xcode中修复以下错误:密钥命令必须都有标题,密钥和选择器? </a> </li> <li class="side_article_list_item"> 4. <a href="http://cn.voidcc.com/question/p-rmrlqmyt-ut.html" target="_blank" title="Terraform SQL创建从可变"> Terraform SQL创建从可变 </a> </li> <li class="side_article_list_item"> 5. <a href="http://cn.voidcc.com/question/p-mehmkdxc-us.html" target="_blank" title="Github Windows客户端将cpp文件检测为二进制文件"> Github Windows客户端将cpp文件检测为二进制文件 </a> </li> <li class="side_article_list_item"> 6. <a href="http://cn.voidcc.com/question/p-kwamkyoz-us.html" target="_blank" title="如何在PowerShell中删除文件之前检查程序是否正在运行?"> 如何在PowerShell中删除文件之前检查程序是否正在运行? </a> </li> <li class="side_article_list_item"> 7. <a href="http://cn.voidcc.com/question/p-rjidffmm-ur.html" target="_blank" title="如何在angularjs中注入这个依赖项?"> 如何在angularjs中注入这个依赖项? </a> </li> <li class="side_article_list_item"> 8. <a href="http://cn.voidcc.com/question/p-wqbdmqfo-bbu.html" target="_blank" title="淡出NavigationBar标题"> 淡出NavigationBar标题 </a> </li> <li class="side_article_list_item"> 9. <a href="http://cn.voidcc.com/question/p-wrfhwjef-bbo.html" target="_blank" title="Rails UJS - 无法让jquery在第一个动作后触发"> Rails UJS - 无法让jquery在第一个动作后触发 </a> </li> <li class="side_article_list_item"> 10. <a href="http://cn.voidcc.com/question/p-tocfywpp-bak.html" target="_blank" title="排除在Eclipse文件夹 - 打开资源"> 排除在Eclipse文件夹 - 打开资源 </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> 相关问题</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://cn.voidcc.com/question/p-cyomilca-mg.html" target="_blank" title="HTML5的拖放,在Firefox中没有触发的“拖放”事件"> HTML5的拖放,在Firefox中没有触发的“拖放”事件 </a> </li> <li class="side_article_list_item"> 2. <a href="http://cn.voidcc.com/question/p-mamxozqb-en.html" target="_blank" title="html5 - 拖放 - 不触发拖放事件"> html5 - 拖放 - 不触发拖放事件 </a> </li> <li class="side_article_list_item"> 3. <a href="http://cn.voidcc.com/question/p-mibsmbcm-hm.html" target="_blank" title="有没有帖子拖放事件?"> 有没有帖子拖放事件? </a> </li> <li class="side_article_list_item"> 4. <a href="http://cn.voidcc.com/question/p-bcfzddey-ss.html" target="_blank" title="拖放事件"> 拖放事件 </a> </li> <li class="side_article_list_item"> 5. <a href="http://cn.voidcc.com/question/p-woknfzdq-or.html" target="_blank" title="onkeypress事件没有发射在即"> onkeypress事件没有发射在即 </a> </li> <li class="side_article_list_item"> 6. <a href="http://cn.voidcc.com/question/p-ragicwhl-ck.html" target="_blank" title="WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION是从来没有发射"> WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION是从来没有发射 </a> </li> <li class="side_article_list_item"> 7. <a href="http://cn.voidcc.com/question/p-dbjznjwk-ns.html" target="_blank" title="验证是从来没有发射"> 验证是从来没有发射 </a> </li> <li class="side_article_list_item"> 8. <a href="http://cn.voidcc.com/question/p-vhftolrl-sb.html" target="_blank" title="拖放HTML 5 jQuery:如何触发拖放事件?"> 拖放HTML 5 jQuery:如何触发拖放事件? </a> </li> <li class="side_article_list_item"> 9. <a href="http://cn.voidcc.com/question/p-kqlnnmdd-cx.html" target="_blank" title="拖放事件javascript"> 拖放事件javascript </a> </li> <li class="side_article_list_item"> 10. <a href="http://cn.voidcc.com/question/p-gdnnrcbj-nn.html" target="_blank" title="TreeViewItem拖放不会引发DragOver事件"> TreeViewItem拖放不会引发DragOver事件 </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://cn.voidcc.com/contact">联系我们</a></li> <li>© 2020 CN.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>