level 13
windy931
楼主
试用了一些主题之后,你会发现有的Typecho主题提供Ctrl+回车回复日志的功能,有的却没有。增加Ctrl+回车无疑可以提高用户体验,那么如何增加这个小功能呢?非常简单,跟着Martin来DIY你的主题吧。
登陆你的Typecho后台,进入主题编辑界面。
第一步、打开comment.php,找到<textarea>标签,为其添加id项,并赋值:
<textarea id="comment" name="text" cols="45" rows="8" ></textarea>
若已存在id项,跳过此步骤。
第二步、继续编辑comment.php文件,找到type="submit"的<input>标签所在行,为其添加id项,并赋值:
<input type="submit" value="发送" id="submit">
记得修改value值,增加提示性语言(如Ctrl+Enter)。若已存在id项,跳过此步骤。
第三步、打开footer.php文件,找到</body>标签,在</body>标签之前插入:
<?php if ($this->is('single')): ?> <script type="text/javascript">document.getElementById("comment").onkeydown = function (moz_ev){var ev = null;if (window.event){ev = window.event;}else{ev = moz_ev;}if (ev != null && ev.ctrlKey && ev.keyCode == 13){document.getElementById("submit").click();}}</script> <?php endif; ?>
标记蓝色部分为第一步设置的<textarea>标签id;标记红色部分为第二步设置的<input>标签id。
接下来刷新你的日志页面,就可以使用快捷键进行回复操作了。
-----------------------------------------
进阶:这段js代码调用的各个元素以id的值来进行区分,当id值不符时,若元素有定义name值且相符的,js同样可以工作。但是Martin建议使用id进行元素的区分。
2011年03月12日 06点03分
1
登陆你的Typecho后台,进入主题编辑界面。
第一步、打开comment.php,找到<textarea>标签,为其添加id项,并赋值:
<textarea id="comment" name="text" cols="45" rows="8" ></textarea>
若已存在id项,跳过此步骤。
第二步、继续编辑comment.php文件,找到type="submit"的<input>标签所在行,为其添加id项,并赋值:
<input type="submit" value="发送" id="submit">
记得修改value值,增加提示性语言(如Ctrl+Enter)。若已存在id项,跳过此步骤。
第三步、打开footer.php文件,找到</body>标签,在</body>标签之前插入:
<?php if ($this->is('single')): ?> <script type="text/javascript">document.getElementById("comment").onkeydown = function (moz_ev){var ev = null;if (window.event){ev = window.event;}else{ev = moz_ev;}if (ev != null && ev.ctrlKey && ev.keyCode == 13){document.getElementById("submit").click();}}</script> <?php endif; ?>
标记蓝色部分为第一步设置的<textarea>标签id;标记红色部分为第二步设置的<input>标签id。
接下来刷新你的日志页面,就可以使用快捷键进行回复操作了。
-----------------------------------------
进阶:这段js代码调用的各个元素以id的值来进行区分,当id值不符时,若元素有定义name值且相符的,js同样可以工作。但是Martin建议使用id进行元素的区分。