- 积分
- 55
- 在线时间
- 624 小时
- 主题
- 1
- 注册时间
- 2013-6-10
- 帖子
- 43
- 最后登录
- 2023-3-8
- 帖子
- 43
- 软币
- 2410
- 在线时间
- 624 小时
- 注册时间
- 2013-6-10
|
有时候ASPxTextBox里面需要单击一段文字,选择该段文字相关联的上下文
,如图所示。
不过aspxtextbox并没有提供selectionStart,onclick等attribute
初始化单击事件
<dx:ASPxTextBox ID="tb_receivers" ClientInstanceName="tb_receivers" runat="server" Width="370px">
<ClientSideEvents Init="function(s,e){ s.GetMainElement().onclick = function(){ OnReceiverClick(s); }; }" />
</dx:ASPxTextBox>
function OnReceiverClick(s) {
var inputelement = s.GetInputElement();
var inputstr = s.GetText();
var lastpos = inputstr.indexOf(';', GetSelectionInfo(inputelement)) + 1;
var startpos = inputstr.lastIndexOf(';', GetSelectionInfo(inputelement)) + 1;
s.SetSelection(startpos, lastpos, true);
}
单击字段时选择字段上下文
function GetSelectionInfo(inputElement) {
var start;
if (ASPxClientUtils.ie) {
var range = document.selection.createRange();
var rangeCopy = range.duplicate();
range.move('character', -inputElement.value.length);
range.setEndPoint('EndToStart', rangeCopy);
start = range.text.length;
}
else {
start = inputElement.selectionStart;
}
return start;
}
|
评分
-
查看全部评分
|