当Javascript中的textfield值发生变化时,如何调用函数?
当用户使用Javascript(如果可能的话)在文本字段中输入超过17个字符时,我想改变文本字段的宽度,否则可以通过任何其他方式 我写了一个代码来做同样的事情,但它只会在用户输入超过17个字符后在文本字段外单击时更改宽度。我希望它在用户输入超过17个字符时自动更改宽度:当Javascript中的textfield值发生变化时,如何调用函数?,javascript,html,css,function,dom,Javascript,Html,Css,Function,Dom,当用户使用Javascript(如果可能的话)在文本字段中输入超过17个字符时,我想改变文本字段的宽度,否则可以通过任何其他方式 我写了一个代码来做同样的事情,但它只会在用户输入超过17个字符后在文本字段外单击时更改宽度。我希望它在用户输入超过17个字符时自动更改宽度: 函数加宽(){ var值=nametf.value; 如果(value.length>17){ nametf.style.width='300px'; }否则{ nametf.style.width='200px'; } }
函数加宽(){
var值=nametf.value;
如果(value.length>17){
nametf.style.width='300px';
}否则{
nametf.style.width='200px';
}
}
#nametf{
宽度:200px;
高度:20px;
填充物:5px10px;
}
TEXTFIELD测试
this
向函数传递自引用。我也会将on-change更改为on-key-up,因为on-change会等待您将焦点从字段移开onkeyup=“加宽(此)”
nametf
”参数化函数函数加宽(nametf){
// ...
}
例子
函数加宽(nametf){
var值=nametf.value;
如果(value.length>17){
nametf.style.width='300px';
}否则{
nametf.style.width='200px';
}
}
#nametf{
宽度:200px;
高度:20px;
填充物:5px10px;
}
TEXTFIELD测试
onchange
在输入失去焦点时被激活,这就是为什么单击外部时它会工作。另一方面,当值更改时,oninput
将立即触发:
const nametf=document.getElementById('nametf');
函数(){
var值=nametf.value;
如果(value.length>17){
nametf.style.width='300px';
}否则{
nametf.style.width='200px';
}
}
#nametf{
宽度:200px;
高度:20px;
填充物:5px10px;
}
试试这个:
var nametf=document.getElementById(“nametf”);
nametf.addEventListener(“输入”,函数(){
如果(nametf.value.length>17){
nametf.size=“30”;
}否则{
nametf.size=“20”;
}
});代码>
#nametf{
高度:20px;
填充物:5px10px;
}
TEXTFIELD测试
这是否回答了您的问题?关于如何在文本更改时执行一些Javascript,堆栈溢出有很多问题。你试过哪种方法?为什么没有具体解决你的问题?