JavaFX : how to disable drag and drop and pasting from external sources on WebView?

标签 java webview drag-and-drop javafx-2 copy-paste

我正在开发一个聊天应用程序,我使用一个 webView 来显示发送者和接收者之间的对话,并使用另一个 webView 来编写包含文本和内容的消息表情符号(使用webView的原因是它能够使用html沿着文本显示表情符号),第二个webView可以通过设置其contenteditable进行编辑> 在 html 中将属性设置为 true ,现在的问题是,当我从包含格式、链接和图像的位置拖放文本或复制文本时,它将显示所有格式,这就是我想要的原因禁用拖放并粘贴来自外部源(例如浏览器)的文本,如果文本包含链接,则通过单击该链接,它会将您定向到该页面,并且 webView 将成为网络浏览器。

最佳答案

棘手(我认为)。一种方法是提供您自己的 EventDispatcher 实例并拦截您想要阻止的操作,例如拦截 DragEvent 以防止放置和粘贴操作的按键事件。当然,这种方法的缺点是:

1) 您必须针对粘贴快捷方式编写特定于平台的代码(CTRL+V 与 META+V)

2) 如果您想以这种方式通过上下文菜单禁用粘贴,则必须完全阻止它出现。不过我认为在你的情况下这是有意的。

因此,在等待更好的解决方案之前,我会选择调度员。确定要处理哪些事件并将其转发到调度程序链。使用您想要阻止的事件。

关于JavaFX : how to disable drag and drop and pasting from external sources on WebView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26553201/

相关文章:

android - Phonegap Android 互联网无法正常工作

android - 与 WebView 中的 DisplayMetrics 和 $(window).width() 不同的宽度和高度

Android webview 在默认浏览器中打开页面而不是我的 webview

java - 使用 Swing Worker 拖放 Java

javascript - 为什么 event.clientX 在 firefox 中对于 dragend 事件错误地显示为 0?

java - 在不重启 Android Studio 的情况下重启 Gradle

java - 将对象存储到 HashMap 中

javascript - PDFTron Webviewer - 缩略图拖放移动

java - Guice 每个请求模块覆盖?

java - Android:多列 ArrayList 到 Listview