.keyup()
.keyup( handler(eventObject) ) 返回: jQuery
描述: 為 "keyup" 事件綁定一個處理函數(shù),或者觸發(fā)元素上的 "keyup" 事件。
-
version added: 1.0.keyup( handler(eventObject) )
handler(eventObject)每次事件觸發(fā)時會執(zhí)行的函數(shù)。
-
version added: 1.4.3.keyup( [ eventData ], handler(eventObject) )
eventData將要傳遞給事件處理函數(shù)的數(shù)據(jù)映射。
handler(eventObject)每次事件觸發(fā)時會執(zhí)行的函數(shù)。
version added: 1.0.keyup()
這個函數(shù)的第一種用法是 .bind('keyup', handler) 的快捷方式,第二種用法是 .trigger('keyup') 的快捷方式。
當用戶在一個元素上釋放按鍵的時候,keydown事件就會發(fā)送給這個元素。它可以綁定到任何元素,但該事件只是發(fā)送到具有焦點的元素上。在不同瀏覽器之間聚焦元素可以有很多,但是表單元素總是能獲取焦點,所以對于此事件類型表單元素是最合適的。
舉個例子,看下面的代碼
<form> <input id="target" type="text" value="Hello there" /> </form> <div id="other"> Trigger the handler </div>
這個事件處理程序可以綁定到input field:
$('#target').keyup(function() {
alert('Handler for .keyup() called.');
});
現(xiàn)在當光標插入點位于表單域并一個鍵被按下并且釋放時,警告將被顯示:
Handler for .keyup() called.
當不同的元素被點擊時我們也可以觸發(fā)這個事件:
$('#other').click(function() {
$('#target').keyup();
});
這些代碼執(zhí)行后,點擊Trigger the handler同樣警報顯示。
如果需要任何按鍵被捕獲(例如,要實現(xiàn)網(wǎng)頁全局上的快捷鍵),附加此事件到document對象是非常有用的。由于事件冒泡,所有的按鍵將使他們DOM方式注冊到document對象上,除非明確停止。
要確定哪個鍵被按下,我們可以檢測傳遞給處理函數(shù)的event 對象。而瀏覽器使用不同的屬性來存儲這些信息,jQuery的規(guī)范了.which屬性,以便我們能夠可靠地使用它來檢索關鍵代碼。此代碼對應一個鍵盤上的按鍵,包括想箭頭這種特殊鍵的代碼,為捕獲實際輸入文本, .keypress()可能是一個更好的選擇。
Example:
Show the event object for the keyup handler when a key is released in the input.
<!DOCTYPE html>
<html>
<head>
<style>
fieldset { margin-bottom: 1em; }
input { display: block; margin-bottom: .25em; }
#print-output {
width: 100%;
}
.print-output-line {
white-space: pre;
padding: 5px;
font-family: monaco, monospace;
font-size: .7em;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<form>
<fieldset>
<label for="target">Type Something:</label>
<input id="target" type="text" />
</fieldset>
</form>
<button id="other">
Trigger the handler
</button>
<script type="text/javascript" src="/scripts/events.js"></script>
<script>
var xTriggered = 0;
$('#target').keyup(function(event) {
if (event.keyCode == '13') {
event.preventDefault();
}
xTriggered++;
var msg = 'Handler for .keyup() called ' + xTriggered + ' time(s).';
$.print(msg, 'html');
$.print(event);
});
$('#other').click(function() {
$('#target').keyup();
});</script>
</body>
</html>