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

Javascript 在剪切事件期间获取文本框的值,javascript,jquery,keyboard-shortcuts,cut,Javascript,Jquery,Keyboard Shortcuts,Cut,我已将剪切事件(jquery)捕获到一个文本框中。我想要的是在触发剪切事件期间获取文本框上的文本 我试图通过evt.originalEvent.clipboardData.getData('text')访问用户剪切的数据,但返回未定义的数据 我的目标是知道用户是否剪切了所有文本(文本框现在为空) 提前谢谢希望我答对了: 在jQuery中,您可以使用类似的方法来查看每个用户的键盘上的文本框是否为空: var txt; $('#textbox_ID').live('keyup', function(

我已将剪切事件(jquery)捕获到一个文本框中。我想要的是在触发剪切事件期间获取文本框上的文本

我试图通过evt.originalEvent.clipboardData.getData('text')访问用户剪切的数据,但返回未定义的数据

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

提前谢谢

希望我答对了:

在jQuery中,您可以使用类似的方法来查看每个用户的键盘上的文本框是否为空:

var txt;
$('#textbox_ID').live('keyup', function() {
    txt = $(this).val().length;
    if(txt < 1) {
        alert("textbox is empty");
    }
});
var-txt;
$('#textbox_ID').live('keyup',function()){
txt=$(this).val().length;
如果(txt<1){
警报(“文本框为空”);
}
});

这应该是可行的,因为每次用户释放一个键并聚焦文本框时,它都会检查它是否为空。

您可以
setTimeout
的持续时间为0,它会安排一个函数立即执行。好的是,一旦文本被剪切,函数就会执行,因此您可以检查您的文本区域是否为空(这意味着用户已经剪切了所有文本):


您可能还希望在设置超时之前添加一个检查,以测试文本被剪切之前文本区域中是否有任何文本(如果用户在未选择任何文本的情况下按Ctrl^X,则剪切事件仍会触发)

我建议查看此项,这是针对粘贴事件的,但我相信您可以做类似的操作,并将当前值与剪贴板上的值进行比较,如果它们完全相同,则输入将为空,否则为空。

不,没有超时。我很确定有一种方法可以检索用户刚刚剪切的剪贴板数据。只是还没弄明白。使用超时是肮脏的,最重要的是,你失去了事件流。最好的方法是读剪贴板,问题是怎么读!?非常感谢MANNay,伙计,我想在剪切事件中检测文本框是否为空由于安全原因,无法在每个浏览器中获取剪贴板数据。为什么要在剪切事件期间选中文本框?您提到您的目标是了解用户是否剪切了所有文本,因此在剪切事件后文本应为空?关于此主题,您有几个问题:如果您想找到此问题的好解决方案,请参阅此帖子()
var ta = $('#YOUR_TEXTAREA');
ta.bind('cut', function() {
    setTimeout(function(){
        if (!ta.val()) { 
            // user cut the whole text.
        }
    },0);
});