简体   繁体   English

如何使用Java键入文本以输入文本(无jQuery)

[英]How to type text to input text using Javascript (without jQuery)

You can set the value of a input like this: 您可以像这样设置输入的值:

document.getElementById("location-search").value = "Somewhere";

but how do you actually trigger type event using Javascript and without using jQuery? 但是实际上如何使用Javascript而不使用jQuery触发类型事件?

You can use custom events. 您可以使用自定义事件。 Fire an event when ever you add value to input. 每当您向输入添加值时,都会触发事件。 And add a listener against this event. 并添加针对此事件的侦听器。

 var type = new CustomEvent("typing", {}); function typed() { document.getElementById("d").value = "Somewhere"; document.dispatchEvent(type); } document.addEventListener("typing", function(e) { console.log("Something typed"); }); typed(); 
 <input type="text" id="d" /> 

Here 这里

Using the approach mentioned : Here 使用上述方法: 此处

The change would the event type instead of HTMLEvents we use KeyboardEvent . 更改将是事件类型,而不是我们使用KeyboardEventHTMLEvents

 document.getElementById("d").addEventListener('keydown',function(e){ document.getElementById("log").innerHTML += '</br> keydown Triggered' }); document.getElementById("triggeringStuff").addEventListener('click',function(){ var str = "Something"; var elem = document.getElementById("d"); str.split('').map(function(item){ var e = document.createEvent('KeyboardEvent'); e.initEvent('keydown'); elem.value += item; elem.dispatchEvent(e); }); }); 
 <input type="text" id="d" /> <button id="triggeringStuff">Trigger Stuff</button> <p id="log">Logs :</p> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM