在剪切事件期间获取文本框的值

我在文本框中捕获了cut事件(jquery)。 我想要的是在切换事件触发期间获取文本框上的文本。

我尝试通过evt.originalEvent.clipboardData.getData(’text’)访问用户剪切的数据,但返回undefined。

我的目标是知道用户是否剪切了所有文本(文本框现在是空的)。

提前致谢

您可以使用持续时间为0的setTimeout来计划立即执行的函数。 好处是该函数将在文本被剪切后执行,因此您可以检查您的textarea是否为空(这意味着用户已经剪切了所有文本):

 var ta = $('#YOUR_TEXTAREA'); ta.bind('cut', function() { setTimeout(function(){ if (!ta.val()) { // user cut the whole text. } },0); }); 

您可能还想在setTimeout之前添加一个检查,以测试文本被切断之前textarea中是否有任何文本(如果用户按下Ctrl ^ X而没有选择任何文本,则切换事件仍会触发)

希望我帮到你:

在jQuery中,您可以使用类似这样的内容来查看每个用户的keyup上的文本框是否为空:

 var txt; $('#textbox_ID').live('keyup', function() { txt = $(this).val().length; if(txt < 1) { alert("textbox is empty"); } }); 

这应该可以工作,因为每次用户释放密钥并且文本框都是重点时,它会检查它是否为空。

我建议看看这个, JavaScript在粘贴事件(Cross浏览器)上获取剪贴板数据 ,它是用于粘贴事件但我确定你可以做类似的事情,并将当前值与剪贴板上的值进行比较,如果它们确切地说与输入相同的是空的,否则不是。