0

当在 Chrome 中的 contenteditable 区域上拖动某些东西时,为了能够捕捉到“drop”事件,需要调用e.preventDefault();每个“dragover”事件。

这隐藏了插入符号,它告诉您将要删除的位置。这可以通过通过document.caretRangeFromPoint()手动更新插入符号位置来规避。

除非窗口处于非活动状态,否则这非常有效 - 然后插入符号是不可见的。

小提琴:http: //jsfiddle.net/zupa/mezAm/

有没有办法在不使用助手的情况下使其可见?

4

1 回答 1

0

事实证明,您不必在事件中调用,即使窗口处于非活动状态,光标也会显示。(因此默认浏览器行为是显示插入符号。)所有教程都声明您必须调用它才能捕获事件。我相信你只需要.e.preventDefault()dragoverdropreturn false

我只用Firefox 13.0.1 和Chrome 19.0.1084.56 测试过(其他浏览器目前尚未实现该drop事件。)

于 2012-06-25T11:24:59.613 回答