Jquery 如何修改粘贴的文本?

Jquery 如何修改粘贴的文本?,jquery,html,dom,Jquery,Html,Dom,是否可以截取和修改粘贴到文本区域的文本 如果无法拦截,粘贴后是否可以修改?(不修改文本区域中已经存在的文本。)可能会截取按键es,要知道何时按下CTRL+C,缓存当前文本,然后在CTRL+C的按键,对照缓存的文本检查当前值,通过简单的文本处理,您可以知道新文本,并执行任何您想要的操作,然后相应地更新。我知道的最好的方法是等待粘贴到文本字段的内容,然后等待向上键或向下键触发。代码如下所示: <script language="javascript"> function testfun

是否可以截取和修改粘贴到文本区域的文本


如果无法拦截,粘贴后是否可以修改?(不修改文本区域中已经存在的文本。)

可能会截取
按键
es,要知道何时按下CTRL+C,缓存当前文本,然后在CTRL+C的
按键
,对照缓存的文本检查当前值,通过简单的文本处理,您可以知道新文本,并执行任何您想要的操作,然后相应地更新。

我知道的最好的方法是等待粘贴到文本字段的内容,然后等待向上键或向下键触发。代码如下所示:

<script language="javascript">

function testfunction()
{

 // This function will execute whenever the content of 

}
</script>

<textarea onkeyup="testfunction()" onkeydown="testfunction()"></textarea>

函数testfunction()
{
//每当
}
如果您想监视textarea的任何更改,下面的代码可以做到这一点。它每十分之一秒检查一次textarea的值,查看是否有任何更新

<textarea id="testfield"></textarea>

<script language="javascript">

var textarea = document.getElementById('testfield');
var textval = '';

function monitor()
{

 if(textval != textarea.value)
 {

  textval = textarea.value;
  testfunction();

 }

 setTimeout('monitor()', 100);

}

function testfunction()
{

 // This function will get executed whenever the value of the text area is altered (at most within 1/10th of a second)

}

monitor();
</script>

var textarea=document.getElementById('testfield');
var textval='';
函数监视器()
{
如果(textval!=textarea.value)
{
textval=textarea.value;
testfunction();
}
setTimeout('monitor()',100);
}
函数testfunction()
{
//每当文本区域的值改变时(最多在1/10秒内),就会执行此函数
}
监视器();
在这两种情况下,您都可以在testfunction()时修改textarea的值,然后用更新后的值更新textarea的值。

使用jQuery:

    jQuery(function($){
      $('#your_element').bind('paste', function(event){
        event.preventDefault();
        var clipboardData = event.originalEvent.clipboardData.getData('text/plain');
        console.log(clipboardData);
      }); 
     }      
    });
在IE和Webkit中工作。对于Firefox,您可能必须使用以下功能:


< P> < /P>您是否使用任何JavaScript库(例如jQuery)?@阿德里安:我的问题是关于它是否可能的问题,因此您可以假设您想要的任何库。考虑使用“StimeTimeOut[MaultOutlook(监视器,100)”,而不是“SETTIMEOUT(“监视器())”,100);Eval是邪恶的:)我不确定这是否适用于所有浏览器,但我认为这绝对是一种更好的方法。实际上,onpaste事件在Gecko1.9.0.19(Camino2.0.4)中起作用。我认为Firefox 3中已经引入了它,这是mozilla页面:但是,没有好的方法来获取粘贴的数据。啊,谢谢,我不知道Firefox 3实现了onpaste,但是你不能用它获取数据,这太糟糕了。关于修改数据的信息在哪里?这不是问题的答案。这是正确的答案: