由于某些软件和论坛的缘故,很多时候冰古在blog上写完留言回复后,都习惯性地按下Ctrl+Enter进行提交留言,但基本上是不成功的,很多blog程序都没有加入这样的快捷键。
Discuz等论坛都可以使用快捷键提交发贴和发贴,但因为觉得它们的代码太麻烦,所以一直没有去查找该快捷键的方法。直到有次在百度知道回复时,按下Ctrl+Enter提交竟然成功了,才打开它的源代码查看了下。一看才知道,实现的方法很简单,只需几行javascript就能搞定了。那么我们也在WordPress加上这个快捷键吧:
一、打开模板中的comments.php文件,查找到下面的内容:
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform" name="commentform"> <?php if ( $user_ID ) : ?>
如果你的form标签中没有name=”commentform”属性,那么请加上。
二、再往下拉一点,你可以看到类似的两行:
<p><textarea name="comment" id="comment" cols="55" rows="10" tabindex="4"></textarea></p> <p><input type="submit" id="submit" tabindex="5" value="提交留言" /></p>
如果textarea标签上没有id属性,请按照上面的内容加上。如果在第二行中发现name=”submit”,将之删除。如果你发现还是不行,把id=”submit”改为id=”submitit”,这样肯定是可以了。
三、最后,在</form>的下面,添加下面的一段javascript代码后保存就行了。
<script type="text/javascript"> var commenttextarea = document.getElementById('comment'); commenttextarea.onKeyDown = quickSubmit(event); function quickSubmit(event){ if (event.ctrlKey && event.keyCode == 13){ document.submitform.submit(); } } </script>
貌似上面这句我搞错了document.submitform.submit();,顺便把代码兼容性弄好点,用上下面的代码,应该没问题了。
<script type="text/javascript"> var commenttextarea = document.getElementById('comment'); commenttextarea.onkeydown = function quickSubmit(e) { if (!e) var e = window.event; //alert(e.keyCode); if (e.ctrlKey && e.keyCode == 13){ //alert('good'); document.getElementById('commentform').submit(); } }; </script>
20090619新版本
<script type="text/javascript><!--//--><![CDATA[//><!-- var commenttextarea = document.getElementById('comment'); commenttextarea.onkeydown = function quickSubmit(e) { if (!e) var e = window.event; if (e.ctrlKey && e.keyCode == 13){ document.getElementById('submit').click(); } }; //--><!]]></script>
试试吧。
BTW:google换了favicon?
无可否认,当读者在浏览一个页面的排版时,难免会被可阅读的内容所分散注意力。
无可否认,当读者在浏览一个页面的排版时,难免会被可阅读的内容所分散注意力
无可否认,当读者在浏览一个页面的排版时,难免会被可阅读的内容所分散注意力
第一次转移。可惜小时左右吧,肯折腾的还是可以省下不少域名 http://www.mrsite.co.uk/uforum/Default.aspx?siteid=eumfccom&domain=tapzilla.com&isblack=&hurl=12Sport_football4.jpg&sec=showthread&id=233768
无可否认,当读者在浏览一个页面的排版时,难免会被可阅读的内容所分散注意力
[…] 原文链接:http://bingu.net/512/wordpress-hack-use-ctrl-enter-submit-comment/ […]
[…] 原文链接:http://bingu.net/512/wordpress-hack-use-ctrl-enter-submit-comment/ widget […]
[…] A:那是用 js 寫的, 不是用 css, 可先看冰古的這篇偉大的文章: http://bingu.net/512/wordpress-h … ter-submit-comment/ 小妞,不要忘记,俺们共同努力,一起进步哦。 上一篇: […]
奇怪的现象,我试过IE浏览器可以,可是FF chrome却不行,晕倒~折腾了很久也不行。
测试
试试看你的效果
哈哈,不错啊,我的也是这样实现了的
晕,手一顺,鼠标单击按钮了……
测试好像代码不支持chrome哦~
测试博主的代码兼容chrome否~~~
你好,我们
挺实用的办法 符合QQ用户习惯
呵呵,我也是逛多论坛了,所以很习惯快捷发评论, 但是照你说的,很多博客都没有这样的功能,包括我的,所以过啦取点经回去弄弄 哈哈哈哈 似乎你的也不行??
這裡只是沒有搞而已。
ctrl回车
…没用嘛。。。
这里没搞啊,当然没用。
type=”text/javascript漏了關閉的”
//–>
那个并不重要,它们都是被包含在<![CDATA ]]> 中的。
<script> Tag是在 <![CDATA ]]> 外面的。
不論是理論上還是實際操作也不可行。
阿哈,看到了。你上面的代码不完整,我以为说的是 //->。
那个的确是我漏写了。 😉
抱歉,先前忘記換成&lt;和&gt;了。
[…] 2009年3月28日补充:发现这里比我写的更详细,想对代码详细了解的请看这:《WordPress中用Ctrl+Enter提交留言》 […]
[…] 所以我觉得博客的留言也最好是能加上这么个功能。在wordpress中加上这个功能很简单,我找了2篇文章,没有加这功能的童鞋赶紧去补上,呵呵: WordPress中用Ctrl+Enter提交留言 […]
恩 研究研究
🙂 非常感谢博主分享的代码,在静态HTML页面上试了一下,貌似提交元素里有name属性也没关系,Opera也可以提交
不客气。
代码改动了很多次,现在的代码应该是没问题了。
[…] 2009年3月28补充:发现这里比我写的更详细,想对代码详细了解的请看这:《WordPress中用Ctrl+Enter提交留言》 2008年12月15日代码,快捷留言,评论 WordPress […]
我测试成功了,但什么是AJAX效果? 😳
恩,学习了,哈,可以实现,不介意我把你的文章转载吧,我会注名出处的,你放心 😆
[…] 原文链接:http://bingu.net/512/wordpress-hack-use-ctrl-enter-submit-comment/ […]
成功了,谢谢您的方案 😀
我也成功了,不过没有AJAX效果了,郁闷,怎么解决? 😥
失败了,不知道是不是和Ajax评论插件冲突,另寻了。。 😐
通过谷歌搜来的,头条就是这。老早订阅了你的文章。
我是來測試的~
@阿企 我也不知道是不是会跟插件冲突,因为太多插件了。
其实之前和之后,问题不大,只要整个页面都载入了就没问题的。
发现致命错误
js代码应该放在之前,然后成功
没有成功,怀疑跟插件有冲突
[…] 同志们去找篇文章增加一个留言,然后直接Ctrl+Enter体验即可…感谢冰古童鞋滴代码. […]
恭喜恭喜
成功了,哈哈 🙂
关键是那个submit那个按键不能有name这个属性,我看了你的源代码,发现是有这个属性的。
如果还不行,你可以看一下我的源代码。
如果要发代码,用code标签就可以了
上面一条代码消失了一大部分,抱歉不知道怎么在留言里贴代码
我的第二部分代码是这样的:
<input type=”hidden” name=”comment_post_ID” value=”” />
会不会有问题?
我在自己的blog上修改测试没成功,在你这里试验一下
成功了,不错!@谢谢
试试! 😆
@phy 这个按照说明来做吧,我看不到你的网页代码那些,我也不知道原因啊。
天啊!Failed…
这是为什么呢?
这里却可以…Ctrl+Enter… 🙁
@花果山寨 你的html代码是怎样的呢?我无法得知你的html代码是怎样的,也就无从知道是什么导致不能使用。
启用了回复插件会不会影响这个功能的实现,我在本地调试没办法实现ctrl+enter 提交
咦!怎么不行呢?我可是按你的说明一步一步弄的哦!
太好了,我试试!
标准不是唯一,适合才是真的。
大家的习惯都是用ctrl+enter,而且这也更顺手。
其实标准的应该是ALT+S
感觉使用accesskey属性应该就可以了
discuz也是可以用ctrl+enter提交的。
呵呵,挺不错的,这个有点像QQ了。
我也试一下
[…] WordPress中用Ctrl+Enter提交留言。让WordPress的留言框支持使用”Ctrl+Enter”快捷提交留言。 由于某些软件和论坛的缘故,很多时候冰古在blog上写完留言回复后,都习惯性地按下Ctrl+Enter进行提交留言,但基本上是不成功的,很多blog程序都没有加入这样的快捷键。 Discuz等论坛都可以使用快捷键提交发贴和发贴,但因为觉得它们的代码太麻烦,所以一直没有去查找该快捷键的方法。直到有次在百度知道回复时,按下 Ctrl+Enter提交竟然成功了,才打开它的源代码查看了下。一看才知道,实现的方法很简单,只需几行javascript就能搞定了。那么我们也在WordPress加上这个快捷键吧: […]
🙂
我也来测试一下
FF3 RC2
用opera测试一下
再次测试一下。
😯 测试没成功。。。
奇怪了,怎么又不行了。
过两天再搞搞。
没有成功
试一下,这是个好功能
@limkianhui 哈,买域名了。
🙂 哇!這個暴強。