2010-12-06 47 views
4

我在我的主页(textarea)中有一个小文本编辑器,可以粘贴文本。如何在粘贴之前将这些文本放入变量中?我知道有这样的功能:如何获取要粘贴到我的HTML文本编辑器中的文本?

clipboardData.getData() 

,但它不工作在Firefox,和我想要的东西,所有的browsers.I正在使用HTML和Javascript。

谢谢

回答

5

简短的回答是,一般情况下,你不能粘贴文本之前。你可以做的就是大基于Web的WYSIWYG编辑器,如CKEditor的和TinyMCE的做的,那就是:

  1. 检测按Ctrl - 使用keypress事件插件事件 - v/转变处理程序
  2. 在该处理程序中,保存当前的用户选择,一个<div>元件离屏(左-1000px说)添加到文档中,移动插入记号是该div内,从而有效地重定向膏
  3. 在事件处理程序中设置一个非常简短的计时器(例如1毫秒),以调用从div检索HTML内容的另一个函数,并执行所需的任何处理,从文档中除去div,恢复用户选择并插入处理后的HTML 。

请注意,这只适用于键盘粘贴事件,不适用于上下文或编辑菜单中的粘贴。在粘贴事件触发时,将脱字符重定向到div(至少在某些浏览器中)为时已晚。

+0

我真正想要的是改变这个文本。所以你有任何想法粘贴隐藏的textarea的方法,然后改变那里的文本? – novellino 2010-12-06 11:33:27

+0

事实上,我正在使用Ctrl + V粘贴另一种方法。我想以某种方式现在做它的右键单击和粘贴选择。 – novellino 2010-12-06 11:41:17

1

让剪贴板在所有浏览器上工作都很棘手,我相信假设没有办法让它只使用JavaScript,除非你的目标是一个特定的浏览器(通常是IE)。我为此使用了ZeroClipboard:http://code.google.com/p/zeroclipboard/ - 它似乎可以完成它的工作。

相关问题