Javascript 如何在输入文本字段上以编程方式触发输入事件?
正如您在下面的代码部分中所看到的,一旦单击其中一个按钮,字段中的文本将发生更改,但事件不会被触发(并且不会运行alertTextInput()方法),当您直接在文本字段下键入文本时,事件将按预期触发 如何通过使用代码或使用更改文本并触发事件的方法手动激活事件?谢谢大家!Javascript 如何在输入文本字段上以编程方式触发输入事件?,javascript,Javascript,正如您在下面的代码部分中所看到的,一旦单击其中一个按钮,字段中的文本将发生更改,但事件不会被触发(并且不会运行alertTextInput()方法),当您直接在文本字段下键入文本时,事件将按预期触发 如何通过使用代码或使用更改文本并触发事件的方法手动激活事件?谢谢大家! constchangetextbutton=document.querySelector(“#changetext”); const clearButton=document.querySelector(“清除”); cons
constchangetextbutton=document.querySelector(“#changetext”);
const clearButton=document.querySelector(“清除”);
const inputField=document.querySelector(“#query”);
changeTextButton.addEventListener(“单击”,changeText);
clearButton.addEventListener(“单击”,清除);
addEventListener(“输入”,alertTextInput);
函数changeText(){
inputField.value=“演示文本!!”;
inputField.dispatchEvent(新事件(“输入”))
}
函数clear(){
inputField.value=“”;
inputField.dispatchEvent(新事件(“输入”))
}
函数alertTextInput(){
警报(inputField.value);
}
以编程方式更改文本
清除
尝试此操作以手动分派事件,请参阅:
如果我理解正确,您希望在单击“更改”按钮时更改输入文本并显示警报。由于changeText()函数只是更改文本,因此不应期望出现警报 只需将alertTextInput()函数添加到changeText()的底部即可 从 React期望听到
输入
事件
因此,在设置值后触发输入
事件
最后的代码是:
var event = new Event('input', {
'bubbles': true,
'cancelable': true
});
inputElement.value = '0.2'
inputElement.dispatchEvent(event);
你想更改什么文本?我很难理解你的问题我想你是在问如何在你通过
inputField.value=“Demo text!!”更改文本后运行alertTextInput()
代码>-很遗憾,对于输入事件侦听器,这不被视为事件。我相信你必须手动调用它。可能重复:这是另一个重复-欢迎你看到下面的答案,根据我的印象,这个问题不是从上面的链接重复的。我更喜欢基于事件的解决方案
function changeText() {
inputField.value = "Demo Text!!";
alertTextInput();
}
var event = new Event('input', {
'bubbles': true,
'cancelable': true
});
inputElement.value = '0.2'
inputElement.dispatchEvent(event);