我想在按下“enter”键时触发事件。我使用下面的代码,但它不工作,我不知道为什么。我到处搜索,我发现了这段代码。
<html>
<head>
<script src="jquery.js"></script>
<script src="jquery2.js"></script>
$('#mess').keypress(function(e){
var key= e.which;
if( key == 13){
$('#anc').click();
return false;
}
</head>
<body>
<form>
<a href="#" id="anc" onclick="start()" > Send</a>
<input id="mess" style="width:200px" type="text" name="msg"/>
</form>
</body>
</html>
答案 0 :(得分:6)
您需要将代码包装在<script></script>
标记周围,以便浏览器读取脚本。您是为外部JavaScript文件执行此操作,但是您没有为内联代码执行此操作。
<script>
$('#mess').keypress(function(e){
var key= e.which;
if( key == 13){
$('#anc').click();
return false;
}
});
</script>
修改1
请检查控制台是否有任何错误,可能是您的DOM
尚未加载,而您正在尝试操作它,因此可能会导致错误。
修改2
您的代码目前不正确。
$('#mess').keypress(function(e) {
var key = e.which;
if (key == 13) {
$('#anc').click();
return false;
}
});
您错过了keypress
函数的结束部分。
编辑3
如果没有完整的控制台信息,我可以猜测。所以我假设您的DOM
尚未加载。因此,请使用以下事件侦听器包装代码。
document.addEventListener("DOMContentLoaded", function() {
// Your code here.
}, false);
您的代码将在DOM
加载后运行。