Javascript 输入值赢得';不变
当我在输入值中键入值时,我很难更改输入值Javascript 输入值赢得';不变,javascript,tampermonkey,Javascript,Tampermonkey,当我在输入值中键入值时,我很难更改输入值 var t=document.createElement('div'); t、 innerHTML=''; document.getElementById(“新闻”).appendChild(t); var x=document.getElementById(“myText”).value//获取输入的值。 t、 onchange=function(){myFunction()}//输入。一旦改变。。 函数myFunction(){ console.l
var t=document.createElement('div');
t、 innerHTML='';
document.getElementById(“新闻”).appendChild(t);
var x=document.getElementById(“myText”).value//获取输入的值。
t、 onchange=function(){myFunction()}//输入。一旦改变。。
函数myFunction(){
console.log(x);//记录“x”的值
}
oninput
x
是一个仅初始化一次的变量,变量不绑定到用于初始化它们的任何对象的当前值,因此需要再次读取元素的值this
直接访问元素由于div上没有
onchange
,所以它位于输入元素上
onchange与onkeyup之间的差异。(MDN)
onkeyup-当用户释放先前按下的键时,keyup
事件触发
所以,无论何时更改值,它都会被触发
onchange-当用户向表单控件提交值更改时,将触发更改事件。例如,可以通过在控件外单击或使用Tab键切换到其他控件来完成此操作
因此,除非您选项卡
或在输入之外单击,否则不会调用您的函数
您应该用以下代码替换代码
var t=document.createElement('div');
t、 innerHTML=“”
document.getElementById(“新闻”).appendChild(t);
var input=document.getElementById('myText');
input.onkeyup=myFunction
函数myFunction(){
var x=document.getElementById(“myText”).value;//获取输入的值。
console.log(x);//记录“x”的值
}
我们在div上没有onchange
,它在输入元素上。还要在函数中定义x
变量以获得同步值,否则您将始终获得在onload事件期间(首次加载脚本时)计算的值定义元素?onkeyup不会在鼠标操作上运行,例如通过关联菜单选择/粘贴/剪切。我如何使用“this.value”作为变量。因此,我可以执行以下操作。console.log(this);这将=“this.value”的值,因此我可以在需要时将其与其他代码片段一起使用。this
和this.value
只能在侦听器中使用,因此您需要将使用该值的所有代码也放在侦听器中。
document.getElementById("myText").oninput = myFunction;
function myFunction() {
console.log(this.value)
}