js一些小技巧
1. (1)同时按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)实现渐变地回到顶部
<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