[英]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.