粘贴时inputtring值为零

时间:2013-02-20 16:45:55

标签: javascript jquery html

当我将一些文本粘贴到此输入时它将inputString注册为0,直到实际输入的内容为止。有没有办法让inputSting更新粘贴?感谢

$('#test').on('paste',function(){
  var inputString = this.value;
     if(inputString.length == 0) {
       $('#text').html('nothing');
    }else{
       $('#text').html('something');

2 个答案:

答案 0 :(得分:1)

$('.myElements').each(function() {
   var elem = $(this);
   // Save current value
   elem.data('oldVal', elem.val());
   // Look for changes
   elem.bind("propertychange keyup input paste", function(event){
      // If value has changed
      if (elem.data('oldVal') != elem.val()) {
       // Updated stored value
       elem.data('oldVal', elem.val());
       // Do action
     }
   });
 });

这将记录您输入的任何更改。

或者使用setInterval:

setInterval(function() { inputValue = $('#input_id').val(); }, 100);

答案 1 :(得分:1)

paste事件在实际粘贴剪贴板内容之前触发。一个简单而可靠的解决方案是使用计时器:

$('#test').on('paste', function() {
    var input = this;

    window.setTimeout(function() {
        var inputString = input.value;
        // Do stuff with inputString here
    }, 0);
});