如何使用Javascript键入文本输入文本(不带jQuery)

时间:2018-05-07 14:46:58

标签: javascript

您可以设置输入值,如下所示:

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

但是你如何使用Javascript和不使用jQuery实际触发类型事件?

2 个答案:

答案 0 :(得分:0)

您可以使用自定义事件。在为输入添加值时触发事件。并为此事件添加一个监听器。



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" />
&#13;
&#13;
&#13;

Here

答案 1 :(得分:0)

使用上述方法:Here

我们使用HTMLEvents来改变事件类型而不是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>