Javascript 从.focusout()上的输入检索.val()
我有一系列同一类的动态生成输入,例如:Javascript 从.focusout()上的输入检索.val(),javascript,jquery,onfocus,Javascript,Jquery,Onfocus,我有一系列同一类的动态生成输入,例如: <input class="addressitem" type="text"/> <input class="addressitem" type="text"/> <input class="addressitem" type="text"/> 及 但我无法在控制台中显示任何内容 有人能给我指出正确的方向吗?只要您在文档中定义它们,这两种方法都应该有效。ready事件并且您的页面中没有任何其他脚本错误 $(functi
<input class="addressitem" type="text"/>
<input class="addressitem" type="text"/>
<input class="addressitem" type="text"/>
及
但我无法在控制台中显示任何内容
有人能给我指出正确的方向吗?只要您在
文档中定义它们,这两种方法都应该有效。ready
事件并且您的页面中没有任何其他脚本错误
$(function(){
$(".addressitem").change(function() {
var addressinput = $(this).val();
console.log(addressinput);
});
$(".addressitem").focusout(function() {
var addressinput = $(this).val();
console.log(addressinput);
});
});
您可以使用浏览器控制台验证页面中是否存在其他脚本错误
还要记住,焦点不在时,文本输入字段上会发生change
事件。因此,当用户从文本框更改焦点时,您将看到console.log。如果你想要即时更新,你应该考虑使用<代码> KEYUP 事件
这是一个工作样本
编辑:根据注释:我使用Jquery单击函数生成字段。我必须在click函数中移动我的代码,它才能工作 不,你不需要。您只需在委托方法上使用jQuery
。向注册事件处理程序时,它将适用于DOM中的当前和未来元素(动态注入)
因此,您的代码将是
$(function(){
$(document).on("change",".addressitem",function() {
var addressinput = $(this).val();
console.log(addressinput);
});
});
只要在document.ready
事件中定义了这两种方法,并且页面中没有任何其他脚本错误,这两种方法都应该有效
$(function(){
$(".addressitem").change(function() {
var addressinput = $(this).val();
console.log(addressinput);
});
$(".addressitem").focusout(function() {
var addressinput = $(this).val();
console.log(addressinput);
});
});
您可以使用浏览器控制台验证页面中是否存在其他脚本错误
还要记住,焦点不在时,文本输入字段上会发生change
事件。因此,当用户从文本框更改焦点时,您将看到console.log。如果你想要即时更新,你应该考虑使用<代码> KEYUP 事件
这是一个工作样本
编辑:根据注释:我使用Jquery单击函数生成字段。我必须在click函数中移动我的代码,它才能工作
不,你不需要。您只需在
委托方法上使用jQuery。向注册事件处理程序时,它将适用于DOM中的当前和未来元素(动态注入)
因此,您的代码将是
$(function(){
$(document).on("change",".addressitem",function() {
var addressinput = $(this).val();
console.log(addressinput);
});
});
这可能是最好的选择,正如您所说,它们是动态生成的输入
$(document).on("blur",".addressitem",function() {
var addressinput = $(this).val();
console.log(addressinput);
});
检查您的控制台,这可能是最好的选择,因为您说过它们是动态生成的输入
$(document).on("blur",".addressitem",function() {
var addressinput = $(this).val();
console.log(addressinput);
});
检查您的控制台这取决于OP希望执行操作的事件change
和focusout
仅在用户从输入字段失去焦点时才起作用(至少在type=“text”
时)。谢谢-是的,您说得对。您帮助我发现的问题是,我的字段是由Jquery单击函数生成的。我必须在点击功能中移动我的代码,它才能工作。哦,不!您不需要在click事件中注册事件处理程序。这将在每次单击use时注册代码,最终导致奇怪的行为。您应该在
方法上使用jQuery。请参阅我的更新答案。这取决于OP希望执行操作的事件change
和focusout
仅在用户从输入字段失去焦点时才起作用(至少在type=“text”
时)。谢谢-是的,您说得对。您帮助我发现的问题是,我的字段是由Jquery单击函数生成的。我必须在点击功能中移动我的代码,它才能工作。哦,不!您不需要在click事件中注册事件处理程序。这将在每次单击use时注册代码,最终导致奇怪的行为。您应该在
方法上使用jQuery。请参阅我的最新答案。