![](/img/trans.png)
[英]How to simulate typing into a textarea using Javascript/Jquery?
[英]How to simulate typing in input field using jQuery?
我想要的是模擬使用javascript輸入<input>
字段。
我有以下代碼:
var press = jQuery.Event("keydown");
press.ctrlKey = false;
press.which = 65;
$("#test").trigger(press);
但是當我加載頁面時, #test
輸入字段沒有打字字符, #test
'的鍵碼代表'A',但沒有'A'輸入。
基本上我想要的是使用Greasemonkey自動鍵入網站。
請給我一些想法或一些我可以用來做這個的庫。
非常感謝!
你可以發送關鍵事件,任何聽取它們的內容都會得到它們, 但它們不會改變輸入 ,所以你不會看到字母A
出現,例如。 這主要是安全的事情; 請參閱“手動觸發事件”以進行討論。
因此,如果您希望顯示該字母,則必須在發送鍵事件時更改輸入的值。 有一個jQuery插件,請參閱“ $.fn.sendkeys
插件” 。
您可以看到<input>
如何響應用戶應用的鍵,鍵事件以及此jsFiddle上的插件。
作為參考,這是jsFiddle的關鍵代碼:
$("button").click ( function (zEvent) {
if (zEvent.target.id == "simA_plain") {
console.log ("Send Plain key event");
var keyVal = 65;
$("#eventTarg").trigger ( {
type: 'keypress', keyCode: keyVal, which: keyVal, charCode: keyVal
} );
}
else {
console.log ("Use the Plugin to simulate a keystroke");
$("#eventTarg").sendkeys ("B") ;
}
} );
如果您只是試圖“模擬在<input>
上鍵入”,該插件應該足夠了。 但是,根據您真正想要做的事情,您可能需要執行以下一項或多項操作:
keydown
事件,如果頁面的javascript觸發了該事件。 change
事件等。 unsafeWindow
和/或@grant none
模式來執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.