代码之家  ›  专栏  ›  技术社区  ›  mike nvck

为什么我的自定义拖放脚本失败?

  •  -1
  • mike nvck  · 技术社区  · 16 年前

    我目前正在尝试编写自己的JS拖放脚本(纯粹出于好奇和厌倦,我知道使用框架会容易得多)。我的目标是一个完全工作的Firefox3版本,即现在可以等待。

    请查看[原始页面][1](正如我所说,FireFox只是暂时的)了解发生了什么。整个过程作为一个div完成,其中包含两个事件(onmousedown和onmouseup),使用document.captureEvents(Event.MOUSEMOVE)作为中间移动。该脚本可以在[here][2]中找到(忽略底部的ajax部分,它已经为一些额外的技巧做好了准备,如果我去掉它,bug会一直存在)。

    请让我知道你是否在过去遇到过类似的事情,或者你是否在某处看到了错误。我知道可能有更好的方法来解决整个问题,但我正在特别寻找一种方法使我的方法发挥作用。

    编辑:使链接脱机,处理新版本。

    1 回复  |  直到 5 年前
        1
  •  2
  •   annakata    16 年前

    这不是您想要听到的,但我强烈建议您从mootools或jquery或类似的工具中选择DnD方法。仅仅从效率的角度来看,DnD是一个可怕的代码(我自己做了几次),如果你没有能力(这里没有冒犯的意思)解决出现的众多错误,那么与仅仅使用现成的健壮成熟实现相比,这将是一个巨大的时间消耗。信息技术 一件很难做的事。

    如果您想继续使用自己的代码(作为练习或出于自豪感,我可以理解:)),这种问题通常是由于某个事件未被捕获(您认为是因为其他事件首先妨碍了您),或者(或者是因为)未在您认为的位置设置标志而导致的在意外点中断代码的错误。尝试通过注销事件触发器,从逻辑上跟踪正在发生的事情。

    怎样 它没有更详细地工作,我可能可以进一步跟踪它(因为我似乎无法复制),但我建议您探索坚实库的好处。