<form name='qform'>
<textarea name='q' rows='3' cols='60' wrap='hard' id='q' onkeydown="if (event.keyCode == 13) document.getElementById('clickit').click()"></textarea>
<input type='button' value='search' id='clickit' onclick="get();">
</form>
我有这个表单...它没有提交按钮,因为我使用的是jquery,在这个表单下面是一个显示结果的div区域。它是一个搜索引擎,没有输入框,而是有一个textarea。这是因为它将是一个多字搜索者。
问题在于,如果我按回车键,查询就会被提交,一切正常......但是对textarea的关注会下降一行,这对我来说是一个问题。
基本上我希望输入只有一个函数(提交)结束其他任何东西。
答案 0 :(得分:10)
如果您不想要多行,为什么不使用<input type="text">
?你提到它将是一个“多字搜索者”。为什么这需要<textarea>
?
<强>更新强>
试试这个
$('textarea').bind('keypress', function(e) {
if ((e.keyCode || e.which) == 13) {
$(this).parents('form').submit();
return false;
}
});
答案 1 :(得分:10)
$(document).ready(function() {
$('textarea').keypress(function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
});
答案 2 :(得分:9)
在jquery函数中,使用event.preventdefault,然后执行您喜欢的操作。 例如
<script>
$("a").click(function(event) {
event.preventDefault();
//Do your logic here
});
</script>