您的位置:首页 > Web前端 > JQuery

jquery 实现 ASP.NET TextBox 多行文本的换行

2012-09-14 22:59 567 查看



1.页面内容

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="Scripts/jquery-extend.js"></script>
<script type="text/javascript">

$(document).ready(function () {
$('textarea').keypress(function (e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
var text = $(this).val();
var index = $(this).position();
var text = text.substring(0, index) + "\r\n" + text.substr(index, text.length - index);
$(this).val(text).position(index + 1);
return false;
}
});
});

</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="test" runat="server" TextMode="MultiLine" Height="111px" Width="194px"></asp:TextBox>
</div>
</form>
</body>
</html>


2.jquery-extent.js

// 由华宰编写,在此鸣谢
$.fn.extend({
position: function (value) {
var elem = this[0];
if (elem && (elem.tagName == "TEXTAREA" || elem.type.toLowerCase() == "text")) {
if ($.browser.msie) {
var rng;
if (elem.tagName == "TEXTAREA") {
rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x, event.y);
} else {
rng = document.selection.createRange();
}
if (value === undefined) {
rng.moveStart("character", -event.srcElement.value.length);
return rng.text.length;
} else if (typeof value === "number") {
var index = this.position();
index > value ? (rng.moveEnd("character", value - index)) : (rng.moveStart("character", value - index))
rng.select();
}
} else {
if (value === undefined) {
return elem.selectionStart;
} else if (typeof value === "number") {
elem.selectionEnd = value;
elem.selectionStart = value;
}
}
} else {
if (value === undefined)
return undefined;
}
}
})

$.fn.selectRange = function (start, end) {
return this.each(function () {
if (this.setSelectionRange) {
this.focus();
this.setSelectionRange(start, end);
}
else
if (this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
range.moveEnd('character', end);
range.moveStart('character', start);
range.select();
}
});
};


参考内容:jquery 获取(设置)文本框(块)内光标位置插件 (在此感谢作者华宰)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: