javascript拖放,addeventlistener。 - 完全迷失了

时间:2011-07-21 19:08:38

标签: javascript mobile drag-and-drop addeventlistener

嘿,我不喜欢问这样的开放式问题但是,我对这个问题很感兴趣。我正在试图弄清楚如何专门为触摸设备拖放。我看到的所有拖放的在线教程都有一些奇怪的if(IE)声明使得它难以阅读,然后它们甚至不能在触摸设备上工作。它让我发疯,因为在动作脚本中这很容易做,我还在学习JS。

令我沮丧的是,我甚至无法让addEventListener工作:

<html>
<head>
<title>Drag and Drop test</title>
<style type="text/css">

#box{
top:200px;
width:100px;
height:100px;
background:red;
position:relative;
}

#box2{
top:200px;
width:100px;
height:100px;
background:black;
position:relative;
}

</style>
</head>
<body>

<div id="box">something something something</div>

<div id="box2"></div>
<script type="text/javascript">

 function doSomething() {
  myImage.style.width = '200px';
}

var myImage = document.getElementById('box');

myImage.addEventListener('click', doSomething, false);
</script>
</body>
</html>

我实际上从另一个问题的答案中为addEventListener提取了此代码,但它似乎不起作用。 如果这很重要,我正在进行野生动物园。感谢

1 个答案:

答案 0 :(得分:0)

您肯定需要使用JavaScript框架。桌面Web应用程序中DD的复杂性很难,更不用说在移动设备上了。看看YUI3's Drag and Drop。它有某种移动支持:

  

本地手势支持已添加到3.2.0中的DD。这种支持是   透明的,实现者不应该做任何事情来使用   这个功能。当使用dd时,加载程序将检查设备   如果设备支持,请查看它是否包含对手势事件的支持   这些事件dd-gestures模块将自动加载为   以及它的依赖性。此时,DD将照常运行但是   它将利用原生手势事件而不是基于鼠标   事件