小编Nic*_*o O的帖子

一次拖放多个html元素

是否有HTML5默认方式将多个元素拖放到同一页面上的另一个html元素中?

似乎draggable适用于一个元素的HTML5属性说:"你可以拖我,但你需要多个输入设备来同时选择另一个可拖动元素."

作为一种解决方法,可以使用js为所选元素添加标识符,并获取特定事件上的所有选定元素并执行我们想要的操作.但这真的是"正确的"方式吗?

当您检查drop事件时,在处理文件拖放时会有多个文件的接口.还有items房产 - 至少在Chrome中.

浏览器之间存在差异.

在Chrome中

drop活动包含该items属性

dataTransfer: DataTransfer
    items: DataTransferItemList
        length: 0
Run Code Online (Sandbox Code Playgroud)

Items 似乎是0,无论你是否拖动了一个项目.

在Firefox中

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)

html javascript html5

21
推荐指数
1
解决办法
8235
查看次数

跨域postMessage,识别iFrame

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的父元素?

html javascript xss html5 cross-domain

14
推荐指数
2
解决办法
9262
查看次数

位置:被父元素溢出切断的固定元素:隐藏(IOS7,Mobile Safari)

在更复杂的用例中,IOS7中的Mobile Safari似乎与CSS视觉格式模型有关。基本上,我想显示一个位置为:fixed;的元素。在元素内部,它使用溢出:隐藏。由于应将固定元素放到父级视口之外,因此应忽略溢出。

我创建了一个小提琴来显示此问题:http : //fiddle.jshell.net/NicoO/6Tus7/10/show/

如果您在Chrome,Firefox等上观看此视频,则会看到黄色的叠加层,该叠加层没有被其父级溢出规则所截断(如预期)。在Mobile Safari中,您会看到黄色框已被切除。

在此处输入图片说明

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

谢谢。

html css mobile-safari responsive-design

5
推荐指数
0
解决办法
1010
查看次数