我想从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;
});