js一些小技巧 3

简介: <div class="markdown_views"><p>js一些小技巧</p><p><strong>1. (1)同时按Ctrl+Enter提交本表单</strong></p><p><img src="http://img.blog.csdn.net/20150328204607601" alt="同时按Ctrl+Enter提交本表单" title=""><br>

js一些小技巧

1. (1)同时按Ctrl+Enter提交本表单

同时按Ctrl+Enter提交本表单
在多行文本域增加onkeydown 事件

<form id="formNews_reply" class="bbs-send-form form" onsubmit="return news.add_newsReply(this);">


    <fieldset class="inputs">
        <label for="comments">评论</label>
        <textarea rows="10" name="comments" placeholder="您的评论"  onkeydown="com.whuang.hsj.ctrlEnter2Submit(event,this);"
                  required></textarea>
    </fieldset>
    <fieldset class="submit2 inputs">
        <input type="button" onclick="news.add_newsReply(this);" class="ui-button" style="margin-top: 5px;"
            value="发送">
    </fieldset>
    <input type="hidden" name="targetId" value="${targetId }" >
    <script type="text/javascript">
        $(function () {
            $("#formNews_reply textarea[name=comments]").get(0).focus();
        });
    </script>
</form>

com.whuang.hsj.ctrlEnter2Submit的实现如下:

/***
 *
 1. @param event : textarea onkeydown event
 2. @param formElement : textarea itself
 */
com.whuang.hsj.ctrlEnter2Submit= function (event,formElement) {
    if(event.keyCode == 13 && event.ctrlKey) {
        var $thisForm=com.whuang.hsj.getForm(formElement);
        var submitBtn=$thisForm.find(":button:first");
        submitBtn.get(0).click();
    }
};

js方法执行流程:先通过com.whuang.hsj.getForm 方法获取textarea所在的表单,然后获取表单下的第一个按钮,最后触发按钮的onclick事件.
注意:”:button:first” 表示第一个按钮,同理”:input:first”表示第一个表单控件(输入框,按钮,复选框等)
**
3. (2)实现渐变地回到顶部

**
平滑地回到顶部
“回到标题”的html代码如下:

<a style="float: right;" class="aHref" onclick="anchorGoWhere('title_loc_bbs')">回到标题</a>

anchorGoWhere是js方法,实现如下:

var anchorGoWhere = function (anchorName) {
$("#subPageBBS .subContent").animate({scrollTop: $("a[name=" + anchorName + "]").offset().top}, 1000);
};

说明:$(“#subPageBBS .subContent”) 是滚动条所在的div
**

1. (3)从jquery对象获取原生的dom元素

**
jquery对象.get(0) .例如

$navHrefComment.get(0).onclick = function () {
        bbs.addBBSComment(cardid2);
    };

(4)textarea字符长度限制

/*
 1. textarea字符长度限制
 2. 
 */
isMaxLen = function(event) {
    var obj = event.srcElement?event.srcElement:event.target;
    var target = $("#"+obj.getAttribute("id").replace(".","\\."));
    var maxLength = target.attr("maxlength");
    if (target.val().length > maxLength) {
        target.blur();
        target.val(target.val().substring(0, maxLength));
        target.focus();
    }
};

(5)回车+CTRL实现换行

/*
 * 回车+CTRL换行
 * 
 */
newline = function(event) {
     if(event.keyCode == 13 && event.ctrlKey){
         if (document.selection) {
             var selectText = document.selection.createRange();
             if(selectText){
                 if(selectText.text.length > 0)
                     selectText.text += "\r\n";
                 else
                     selectText.text = "\r\n";
                 selectText.select();
                 }
         }
         else{
             var obj = event.srcElement?event.srcElement:event.target;
             obj.value += "\r\n";
             }
         }
     };

参考:
js 一些小技巧
js 一些小技巧 2

相关文章
|
2月前
|
前端开发 JavaScript UED
"前端小技巧大揭秘:JS如何将后台时间戳秒变亲切小时前、分钟前,让用户秒懂,提升互动体验!"
【10月更文挑战第23天】在Web开发中,将后台返回的时间戳转换为“小时前”、“分钟前”、“刚刚”等友好的时间描述是常见需求。本文介绍如何用JavaScript实现这一功能,通过计算当前时间和时间戳的差值,返回相应的描述,提升用户体验。
48 1
|
7月前
|
缓存 JavaScript 前端开发
js开发代码片段与小技巧
js开发代码片段与小技巧
34 2
|
8月前
|
JavaScript 前端开发 算法
< JavaScript小技巧:如何优雅的用【一行代码 】实现Js中的常用功能 >
在开发中,采用简洁的语法和结构,遵循一致的命名规范,具有良好的代码组织和注释,能很好的提高代码的质量。可读性:易于阅读和理解。清晰的命名、简洁的语法和良好的代码结构可以使代码的意图更加明确,降低理解代码的难度,提高代码的可读性。可维护性:易于维护。当代码逻辑清晰、结构简洁时,开发者可以更快速地定位和修复bug,进行功能扩展或修改。同时,可读性高的代码也有助于后续的代码重构和优化。可扩展性:更具有扩展性和灵活性。清晰的代码结构和简洁的代码风格使得添加新功能、修改现有功能或扩展代码更加容易。
< JavaScript小技巧:如何优雅的用【一行代码 】实现Js中的常用功能 >
|
8月前
|
前端开发 JavaScript
实用的JavaScript小技巧
这些JavaScript小技巧可以帮助你更加高效地编写代码,提高代码质量和可读性。
45 1
|
8月前
|
前端开发 JavaScript
写出干净的 JavaScript 5 个小技巧
写出干净的 JavaScript 5 个小技巧
|
8月前
|
存储 JavaScript 前端开发
js的一些小技巧
js的一些小技巧
|
8月前
|
存储 前端开发 JavaScript
几个一看就会的实用JavaScript优雅小技巧
几个一看就会的实用JavaScript优雅小技巧
|
存储 前端开发 JavaScript
5 个 实用的 JavaScript 开发小技巧
5 个 实用的 JavaScript 开发小技巧
237 0
|
JavaScript
js的slice小技巧
js的slice小技巧
64 0
|
设计模式 JavaScript 前端开发
JavaScript程序设计模式小技巧——策略模式,快看快用!!!(下)
JavaScript程序设计模式小技巧——策略模式,快看快用!!!(下)