2013-10-02 46 views
0

我需要模擬用戶按空格鍵在textarea。代碼需要與用戶按下該按鍵完全相同。有任何想法嗎? 使用jQuery.trigger()不起作用,因爲它只觸發按下按鍵的事件處理程序,並不實際將某個按鍵「發送」到文本區域。如何模仿用戶用jQuery按一個鍵

+1

KeyDown事件被髮送到一個元素,當用戶第一次按下鍵盤上的按鍵。 Keydown http://api.jquery.com/keydown/ – kunalbhat

+1

@kunalbhat - jQuery.keydown - 是一個事件*處理程序* - 它處理事件,不會啓動它 – Andrey

+0

模擬測試?或者出於功能原因而效仿? –

回答

1

如果您只是需要這個測試目的,我會建議編寫一個Selenium腳本。

+0

它不適用於測試 – Andrey

2

爲了把在光標所在的空間中,替換任何選定的文本&定位在那裏它會被如果空間已被鍵入通過用戶將光標(假設textarea的具有焦點):

var myTextarea = document.getElementById('myTextarea'), 
    selStart = myTextarea.selectionStart, 
    selEnd = myTextarea.selectionEnd, 
    currentValue = myTextarea.value; 

myTextarea.value = currentValue.substr(0, selStart) + ' ' + currentValue.substr(selEnd); 
myTextarea.setSelectionRange(selStart + 1, selStart + 1); 

當然,如果你需要的「的keydown」事件空格鍵射擊,以及你必須單獨觸發它,這是很容易使用jQuery:

var spaceEvt = new $.Event('keydown', { keyCode: 32 }); 
$(myTextarea).trigger(spaceEvt);