我试图找出一种通过javascript的event.dataTransfer传递本机对象的方法来进行拖放.我正在编写CMS的前端编辑器部分,并希望用户能够拖放元素(许多不同类型,从文件到图像到HTML片段到几乎任何东西).这就是为什么我想传递一个真实的对象,所以我可以附加数据来指定必要的东西,以便知道如何渲染它.
一种解决方法是使用jQuery的.data()将对象附加到页面上的其他内容,然后简单地在setData中传递选择器字符串...但我并不特别喜欢该hack.
这也可以通过jQuery UI的draggable/droppable来解决(我并不完全反对使用任何库),但由于dropzone位于iframe中,这实际上是最新jQuery UI中的文档错误(1.10.2) ).另外,如果可能的话,我更愿意本地做.这个应用程序中已经有足够的库.
这是问题所在:http://jsfiddle.net/AHnh8/
var foo = {foo: "foo", bar: "bar"};
$dragme.on("dragstart", function(e) {
e.originalEvent.dataTransfer.setData("foo", foo);
});
$dropzone.on("dragenter", function(e) { e.preventDefault(); });
$dropzone.on("dragover", function(e) { e.preventDefault(); });
$dropzone.on("drop", function(e) {
console.log(e.originalEvent.dataTransfer.getData("foo")); // [Object object]
console.log(typeof e.originalEvent.dataTransfer.getData("foo")); // string
});
Run Code Online (Sandbox Code Playgroud)
现在,在阅读了规范后,我完全理解为什么会失败.我不明白的是,如何最终实现我想要的.
谢谢
我去设置 - Ruby SDK和Gems,然后选择C:\RailsInstaller\Ruby1.9.3\bin\ruby.exe.
它在右侧加载了一堆宝石,看起来它会起作用.
我点击确定,仍然有可怕的语法突出显示,它仍然认为它没有Ruby解释器.
我已经尝试使缓存失效,甚至下载新版本的ruby并将其指向新的二进制ruby.exe文件.
model.rb:
has_attached_file :image
validates_attachment :image,
:content_type => { :content_type => ['image/svg+xml'] }
结果:"图片的扩展名与其内容不匹配,无效,无效"
尝试附加实际上有效的SVG文件时.
注意,我也尝试过'image/svg-xml'具有相同结果的类型
第一次单击打开IE 7/8/9中的bootstrap"可折叠"手风琴时,它无法打开.其他人遇到这个或者可以弄明白为什么?
谢谢
jsfiddle demo:http://jsfiddle.net/pWU4n/7/
<div class="accordion category-list-accordion">
<div id="category-5" class="accordion-group" style="display: block; ">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse">
CLICK ME TWICE THE FIRST TIME TO OPEN IN IE
</a>
</div>
<div id="category-5-accordion" class="accordion-body collapse">
<div class="accordion-inner span33">
"Bootstrap was made to not only look and behave great in the latest desktop browsers (as well as IE7!)"
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function() {
$("#category-5").click(function() {
$("#category-5-accordion").collapse("toggle");
});
});
Run Code Online (Sandbox Code Playgroud)
<head> 包括:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.1/js/bootstrap.min.js"></script>
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.1/css/bootstrap-combined.min.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)