通过JS实现Ctrl+Enter提交评论
大家有没有这种感觉,写完了评论,手都放在键盘上,提交的时候还要拿鼠标点了一下,是不是感觉有点麻烦,若写完了,直接Ctrl+Enter,可能会更加方便。下面这段js代码就可以实现Ctrl+Enter提交评论的功能,把它放在对应在位置就OK。
//实现Ctrl+Enter提交评论
<script type="text/javascript">
jQuery(document).ready(function($){
$("textarea").keypress(function(e){
if(e.ctrlKey&&e.which==13||e.which==10){
$("#submit").click();
}
});
});
</script>
上面就实现了鼠标停留在textarea标签里时,同时按下Ctrl+Enter提交的功能。但在input标签里时呢?很简单,把上面的textarea改成input就可以了。但我既希望textarea能提交,input也能提交呢?我用的啥办法,写两个呗:
<script type="text/javascript">
jQuery(document).ready(function($){
$("textarea").keypress(function(e){
if(e.ctrlKey&&e.which==13||e.which==10){
$("#submit").click();
}
});
$("input").keypress(function(e){
if(e.ctrlKey&&e.which==13||e.which==10){
$("#submit").click();
}
});
});
</script>
注意:1、$("textarea")中textarea不仅可以是html标签,也可以是id值;2、这依赖于jquery。
或者直接这样写也可以:
<script type="text/javascript">
jQuery(document).keypress(function(e) {
if (e.ctrlKey && e.which == 13 || e.which == 10) {
jQuery("#submit").click();
document.body.focus();
} else if (e.shiftKey && e.which == 13 || e.which == 10) {
jQuery("#submit").click();
}
})
</script>
还可以直接在textarea标签中增加以下代码来实现:
onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"