记录一些常用的函数和瞎折腾的过程……

通过JS实现Ctrl+Enter提交评论

提醒:本文最后更新于 2159 天前,文中所描述的信息可能已发生改变,请谨慎使用。

大家有没有这种感觉,写完了评论,手都放在键盘上,提交的时候还要拿鼠标点了一下,是不是感觉有点麻烦,若写完了,直接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};"