爲什麼這項工作:爲什麼JQuery keydown適用於窗口而不是文本框?
$(window).keydown(function(event){
alert(event.keyCode);
});
但不是這樣的:
$('#ajaxSearchText').keydown(function(event){
alert(event.keyCode);
});
我用Firefox 3測試 有趣的是,他們都沒有在IE7中工作。
爲什麼這項工作:爲什麼JQuery keydown適用於窗口而不是文本框?
$(window).keydown(function(event){
alert(event.keyCode);
});
但不是這樣的:
$('#ajaxSearchText').keydown(function(event){
alert(event.keyCode);
});
我用Firefox 3測試 有趣的是,他們都沒有在IE7中工作。
在Chrome,IE7和Firefox 3.0.3中檢查了此項。按原樣工作。 jQuery版本1.2.6。
<html>
<head>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript">
$(function()
{
$("#ajaxSearchText").keydown(function(event)
{
alert(event.keyCode);
});
});
</script>
</head>
<body>
<input type="text" id="ajaxSearchText"></input>
</body>
</html>
嘗試使用
$('#ajaxSearchText').keyup(function(event){
alert(event.keyCode);
});
作品對我來說非常完美。同時檢查textarea的編號
對於您所有的keydown /鍵盤/鍵盤需求,請使用jQuery hotkeys插件。
幾個月前看到這一點,它永遠不會失敗打動它。按照跳轉插件演示... http://code.google.com/p/js-hotkeys/
它將包括連擊在內的所有鍵映射到鍵盤上。希望能幫助到你!
要解決在IE6和IE7的問題,試試這個...
$(function()
{
$(document).keydown(function(event){
alert(event.keyCode);
});
});
附加事件到$(document)
似乎這裏是神奇的東西。
雖然你的第一個代碼真的應該在IE中工作。這似乎是一個在jQuery中的錯誤,希望很快會被修復...
這裏是jQuery的錯誤報告的鏈接。 https://bugs.jquery.com/ticket/3614
因爲「窗口」對象不支持按鍵事件。
http://www.w3schools.com/jsref/obj_window.asp
但是,只有在 '文件':
http://www.w3schools.com/jsref/dom_obj_event.asp
如果它沒有再工作是jQuery中的錯誤。
$('#searchInput').keydown(function() {
alert('testing');
});
將不起作用。但是,如果你把它包裝在一個函數中:
$(function()
{
$('#searchInput').keydown(function() {
alert('testing');
});
});
它會工作。
沒有該函數聲明,它只能用於文檔和窗口等對象。
建議:提供最小的自包含示例來說明您的問題。 – Shog9 2008-10-09 15:24:27