【问题标题】:unexpected call to method or property access?意外调用方法或属性访问?
【发布时间】:2016-04-21 03:54:18
【问题描述】:

我一直在尝试学习的拖放示例出现错误,我无法弄清楚为什么此错误不断出现。

这是我的 HTML:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Week 3 Drag and Drop</title>
<link rel="stylesheet" type="text/css" href="Week3DragAndDropCSS.css">
<script src="Week3DragAndDropJS.js"></script>
</head>
<body>
<header>
    <h1>Week 3 Drag and Drop</h1>
</header>
    <div id="trashCan" ondragover="dragElementOver(event)" 
 ondrop="drop(event)"></div>
    <div id="trash1" draggable="true" ondragstart="startDrag
 (event)">Im Trash</div>


<footer>

</footer>

  </body>

   </html>

这是我的 CSS:

header{

 }
body{

 }
footer{

}
#trashCan {
height:200px;
width:200px;
background-image: url(trash.png);
background-repeat:no-repeat;
background-size:contain;
 }
 #trash1{
height:200px;
width:200px;
background: red;
text-align: center;
 }

然后是 JavaScript:

function startDrag(e){
console.log("drag event started.");
e.dataTransfer.setData('Color', e.target.getAttribute('id'));
}
function dragElementOver(e){
e.preventDefault();
console.log("You entered into the drop zone.");
}
function drop(e){
var data = e.dataTransfer.getData("Color")
console.log("You have dropped the trash into the trash can " + data);
}

发生错误的部分是在 e.dataTransfer.setData 部分的 javascript 中,我已经用几种方法重写了它,并在 google 上查找,但仍然无法弄清楚。我认为 console.log 方法可以帮助我确定发生了什么,但它们确实没有帮助。

【问题讨论】:

  • 您好,请问您的错误是什么?什么样的错误?或者您使用的是哪个浏览器?
  • SCRIPT65535:对方法或属性访问的意外调用。这是我在 12 个开发者工具的调试器上得到的。互联网探索 11.
  • 其实我没有用 IE,但是你的代码在 Chrome 和 firefox 上运行良好……我做了一个代码笔codepen.io/rgoyard/pen/YqvMdq?editors=1000
  • 嗯...那么也许与浏览器对该代码的支持有关?
  • 实际上,我使用 addEventListener 重写了您的代码:codepen.io/rgoyard/pen/dMKLaY 在 IE 上试一试...并让我知道它是否有效。我认为您的问题来自 IE 在使用 on"Event" 属性时将事件传递给处理函数的方式,我更喜欢使用 addEventListener

标签: javascript html drag-and-drop


【解决方案1】:

显然是一个IE错误HTML5 Drag&Drop issue in Internet Explorer (dataTransfer property access not possible)

您应该在代码中将“颜色”替换为“文本”

e.dataTransfer.setData('text', e.target.getAttribute('id'));

然后:

var data = e.dataTransfer.getData("text")

我的错!没有好好阅读文档!

【讨论】:

  • ROFL 我也没有,完全错过了。我永远不会自己得到它非常感谢你!!!!
猜你喜欢
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多