拖放禁用在Safari / Chrome WebKit浏览器中无法正常工作

时间:2010-11-09 13:13:37

标签: javascript javascript-events

我在iframe中使用document.designMode =“on”创建了一个富文本编辑器Web应用程序。 我想要选择文本,但希望删除文本的拖放。 我试过这个:

evt.dataTransfer.effectAllowed="none";
evt.dataTransfer.dropEffect = "none";

这在Firefox中运行良好但在Safari / Chrome WebKit浏览器中不起作用。 我试图把它放在每个事件中:dragover,dragstart,drag,dragenter等......但无济于事。在mousedown或mouseup中输入evt.preventDefault()addEventListeners禁用我不想要的文本选择。帮助...

1 个答案:

答案 0 :(得分:0)

好的,我可以看到和我一样的问题,上个月我一直在研究这些问题,我很幸运能够使用试错法解决问题。我使用的是Asp.net MVC和Safari,如果您理解我的意思,Chrome不会在视图中创建包含内容占位符映射在母版页标题中的脚本。

在您的方案中,如果在调用函数时成功调用了javascript,则可能需要检查它。比如你添加一个库

确保它在标题上并且当您尝试调用函数时例如:

function Drag(){

//警告以证明这个Drag方法真的被称为

alert(“调用Drag方法”);

}

使用警报将帮助您检查您的功能是否已成功执行,尽管警报令人讨厌,但如果您明智地使用它,它肯定会帮助您进行调试。大多数情况下,如果您可以将所有脚本放在标题部分中,这也是有帮助的,尽管有些情况是无法避免的。

这适用于我的Safari / Chrome javascript问题。

如果有帮助,请投票。谢谢!