2016-10-19 76 views
2

我想從控制檯使用純JavaScript來觸發按鍵事件,但無法這樣做。下面純JavaScript觸發按鍵事件

是我的代碼

var abc = document.querySelector("#main > footer > div.block-compose > div.input-container > div > div.input"); 

代碼1:

function fire(elem, type) { 

    var evt = elem.createEvent("Events"); 

    evt.initEvent(type, true, true, window, 1); 

    elem.dispatchEvent(evt); 

} 

document.addEventListener("plop", function() { 
    console.log("Fired a synthetic click event"); 
}, false); 

fire(abc, "plop"); 

代碼2

var event = document.createEvent("KeyboardEvent"); 

event.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 115, 0); 

任何建議??

Jsfiddel鏈接:

http://jsfiddle.net/mishragaurav31/VLZGk/1105/

我只是希望能夠警示 「的keyPressed」

+0

你是否看到任何錯誤? – Rajesh

+0

嘿,如果可能的話創建jsfiddle或者添加你的​​html代碼也 –

+0

看看這個答案:http://stackoverflow.com/questions/22574431/testing-keydown-events-in-jasmine-with-specific-keycode/23700583 #23700583 – MarcoL

回答

-1

你是不是傳遞一個函數的按鍵綁定

嘗試javascript代碼:

$(document).ready(function() { 
     $("#txtInput").keypress(function(){ 
      alert("keypressed"); 
     }); 
}); 
+0

OP顯然不使用jQuery,但是您的文章包含jQuery。這不會工作,除非他包含jQuery。 – Pachonk

+0

我剛剛提出了一個修復jsfiddle的問題。你是對的,標題說純JavaScript,我的壞。 – crgarridos

-1

這個怎麼樣(用onkeydown調用發送密鑰):jsBin

+1

請不要簡單地鏈接到外部資源。演示你的答案是很好的,但總是想象你的答案有多好,如果你從你的答案中刪除了所有非堆棧溢出鏈接。 – Pachonk