似乎draggable适用于一个元素的HTML5属性说:"你可以拖我,但你需要多个输入设备来同时选择另一个可拖动元素."
作为一种解决方法,可以使用js为所选元素添加标识符,并获取特定事件上的所有选定元素并执行我们想要的操作.但这真的是"正确的"方式吗?
当您检查drop事件时,在处理文件拖放时会有多个文件的接口.还有items房产 - 至少在Chrome中.
浏览器之间存在差异.
该drop活动包含该items属性
dataTransfer: DataTransfer
items: DataTransferItemList
length: 0
Run Code Online (Sandbox Code Playgroud)
Items 似乎是0,无论你是否拖动了一个项目.
该drop活动包含该mozItemCount属性
dataTransfer: DataTransfer
mozItemCount: 1
Run Code Online (Sandbox Code Playgroud)
mozItemCount 似乎至少是1.
您可以在哪里观察开发人员工具控制台:
这个来源取自这里:http://www.html5rocks.com/en/tutorials/dnd/basics/
$(function(){
// Copied from: http://www.html5rocks.com/en/tutorials/dnd/basics/
var cols_ = document.querySelectorAll('.column');
var dragSrcEl_ = null;
handleDragStart = function(e) {
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text/html', this.innerHTML);
dragSrcEl_ = this;
this.style.opacity = '0.4';
// this/e.target is the source node.
$(this).addClass('moving'); …Run Code Online (Sandbox Code Playgroud)我postMessage用来将iframe中的事件发送到它的父文档.我控制了双方,但内容来自两个不同的领域.

我的简单问题是,我无法识别其内部回调方法中的iFrame.实现如下:
在iFrame中:
parent.postMessage(JSON.stringify({action: "closeView" }),'*');
Run Code Online (Sandbox Code Playgroud)
在父窗口中:
window.addEventListener('message',function(event) {
if(event.origin !== 'https://example.com')
return;
// Parse message back to json
var messageObject = JSON.parse(event.data);
var source = event.source;
/* this is returning: Window -URL- */
console.log( source );
/* This will throw Permission denied, although this code is inside of "parent" */
console.log(source.parentNode);
},false);
Run Code Online (Sandbox Code Playgroud)
我想识别iframe的某个父元素,它在(逻辑上)在父文档中.
当我尝试event.source.parentNode在所述对象上使用或使用某些jQuery时,Firefox说,我不能这样做以防止XSS,错误:Error: Permission denied to access property 'parentNode'
我怎样才能获得触发postMessage事件监听器的iFrame的父元素?
在更复杂的用例中,IOS7中的Mobile Safari似乎与CSS视觉格式模型有关。基本上,我想显示一个位置为:fixed;的元素。在元素内部,它使用溢出:隐藏。由于应将固定元素放到父级视口之外,因此应忽略溢出。
我创建了一个小提琴来显示此问题:http : //fiddle.jshell.net/NicoO/6Tus7/10/show/
如果您在Chrome,Firefox等上观看此视频,则会看到黄色的叠加层,该叠加层没有被其父级溢出规则所截断(如预期)。在Mobile Safari中,您会看到黄色框已被切除。

有趣的是,如果您将所有这些都重新放入iframe,它似乎可以工作。我坚持这一点,但仍然希望我犯了一个简单的错误……
谢谢。