我已经在这个问题上工作了一段时间,我提出的每个解决方案“几乎都有效”。理想情况下,我想在输入时将输入值保存到变量中,因此在将输入值保存到变量之前,我不必执行任何命令。由于我无法找到解决方案,因此一旦输入失去焦点,我就一直在努力改变它。我尝试过.focusout,.change和.blur,但是当输入失去焦点时,没有人真正改变它。
//This will save the input value into the variable formInput
var formInput = $("#someForm input[type=text]").val();
//This successfully changes the value of formInput, but only after performing
//another command, such as clicking go or pressing enter.
//Tab does not count to the input "losing focus"
$("#someForm input[type=text]").focusout(function() {
$(this).val() = formInput.val();
});
// Same as focusout, as well as blur.
$("#someForm input[type=text]").change(function() {
$(this).val() = formInput.val();
});
//Nope.
$("#someForm input[type=text]").keyup(function() {
formInput = $("this").val();
});
答案 0 :(得分:0)
尝试
var inputText;
$("#someForm input[type=text]").keyup(function() {
inputText = $(this).val();
});
答案 1 :(得分:0)
在现代浏览器中,listen to the input
event:
$("#someForm input[type=text]").on("input", function() {
formInput = $(this).val();
});
但是keyup
处理程序也应该有效,如果你清除了关于formInput
是否是包含字段值的字符串值或链接到字段本身的jQuery对象的混淆(如果{{ 1}}是一个字符串,它没有formInput
方法。)
此代码:
val()
选择所有$("this")
元素,如果返回任何内容,我会感到惊讶。