当我将一些文本粘贴到此输入时它将inputString注册为0,直到实际输入的内容为止。有没有办法让inputSting更新粘贴?感谢
$('#test').on('paste',function(){
var inputString = this.value;
if(inputString.length == 0) {
$('#text').html('nothing');
}else{
$('#text').html('something');
答案 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);
});