簡體   English   中英

Jquery 按鍵不起作用

[英]Jquery KeyPress Doesn't work

知道為什么這在任何瀏覽器上都不起作用嗎?

如果我在 jsfiddle 中嘗試它,它可以工作。

$('#input_area').keypress(function(e) {
    if(e.which == 13) {
        alert('You pressed enter!');
    }
});

HTML

<script type="text/javascript" src="counts.js"></script>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
</head>

<body>
<input type="text" id="input_area"/>

</body>

JS

$(document).ready(function() {
$('#input_area').keypress(function(e) {
    if(e.which == 13) {
        alert('You pressed enter!');
    }
});
});

我准備賭 5 美元,你沒有將它包裝在你的實際應用程序中的document.ready處理程序中,jsfiddle 默認情況下這樣做:

$(function() {
    $('#input_area').keypress(function(e) {
        if(e.which == 13) {
            alert('You pressed enter!');
        }
    });
});

另一種可能性是您忘記引用 jQuery 或者您從錯誤的 url 中引用它。

根據瀏覽器,可能不會實現which屬性。 您還應該檢查keyCode

 $(document).ready(function() { 
    $("#input_area").keypress(function (e) {
       if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
         alert('You pressed enter!');
       }
    });
 });

如果在 jsfiddle 中運行時它可以工作,那么它可以工作。 我懷疑您在 dom 尚未加載且 input_area 尚不可用時嘗試注冊按鍵偵聽器。 將其包裹在 $(document).ready 中:

$(document).ready(function() {
    $('#input_area').keypress(function(e) {
        if (e.which == 13) {
            alert('You pressed enter!');
        }
    });
});

嘗試使用綁定,

$('#input_area').bind('keypress', function(e){
    alert(e.which);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM