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?
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?
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" />
Using the approach mentioned : Here
The change would the event type instead of HTMLEvents
we use KeyboardEvent
.
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>