如何在jquery中从keyup中获取val



我想从jquery 中的keyup中给出val

我的代码是:

var vartest;
$( ".target" ).keyup(function() {
vartest= this.value;
console.log('in func:' + vartest);
});

console.log('out of func:' + vartest);

但是vartest是未定义的

只有当Element接收到事件时,函数才会触发
当您调用vartest(在函数之外(时,它的值仍然是undefined,因为(实际附加值的(事件将在稍后触发。

创建一个函数getTargetsValues,并在需要时调用该函数
最终可能会监听"input"事件,而不是"keyup"

// Cache your elements
const $targets = $(".target");
// Use this function to get an Array of inputs .target values
function getTargetsValues () {
return $targets.get().map(el => el.value);
}
$targets.on("input", function() {
console.log('in func: ' + getTargetsValues());
});
console.log('out of func: ' + getTargetsValues());
<input class="target" type="text" value="1. target">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

我不确定这是否是您所需要的,但如果您想在事件发生的地方获得输入值,您应该从事件目标:中获取它

$(‘.target’).keyup(e => {
vartest = e.target.value;
});

最新更新