获取焦点光标在文字后面


$(".pinglun_huifu2_talk_about").live('click',function(){
uname=$(this).attr("username");
$("#pinglucon").focus();//这个获取焦点一定要放在获取值的前面
var a=$("#pinglucon").val();
$("#pinglucon").val(a+"@"+uname+" ");
});
<think>在aardio中,可以通过edit.focus()方法设置焦点,通过edit.selPos()设置光标位置。首先,我们需要获取编辑框控件的句柄,然后使用focus()方法设置焦点,再使用selPos()方法设置光标位置。示例代码:```aardio//导入UI库importwin.ui;/*DSG{{*/varwinform=win.form(text="设置edit控件光标位置")winform.add(edit={cls="edit";text="初始文本";left=16;top=16;right=320;bottom=48;edge=1;multiline=1;z=1};button={cls="button";text="设置焦点并移动光标";left=16;top=56;right=320;bottom=88;z=2})/*}}*///按钮点击事件winform.button.oncommand=function(id,event){//设置编辑框获取焦点winform.edit.focus();//设置光标位置,例如设置到第3个后面(从0开始计数,所以是3)//注意:如果设置的位置超过文本长度,会自动调整到文本末尾winform.edit.selPos(3,3);//第一个参数是起始位置,第二个参数是结束位置,如果相同则设置光标位置//如果要设置光标到末尾,可以获取文本长度//varlen=#winform.edit.text;//winform.edit.selPos(len,len);}winform.show();win.loopMessage();```说明:1.使用`edit.focus()`方法将焦点设置到编辑框。2.使用`edit.selPos(start,end)`方法设置光标位置和选择范围。如果只想设置光标位置而不选择文本,可以将start和end设置为相同的值。3.上面的示例中,当点击按钮时,编辑框获取焦点,并且光标移动到第3个符后(因为索引从0开始,所以第3个符的位置是3,即第4个符前)。4.也可以将光标设置到文本末尾,先获取文本长度(用#运算符),然后设置selPos(len,len)。注意:在aardio中,编辑框控件是标准Windows编辑控件,因此支持这些操作。</think> 在 aardio 中,为 edit 控件设置焦点光标位置的方法如下: ### 示例代码 ```aardio import win.ui; /*DSG{{*/ var winform = win.form(text="Edit控件焦点光标示例";right=599;bottom=399) winform.add( edit={cls="edit";left=30;top=30;right=550;bottom=100;edge=1;multiline=1;z=1}; btnSetFocus={cls="button";text="设置焦点并移动光标";left=30;top=120;right=200;bottom=150;z=2} ) /*}}*/ // 按钮点击事件 winform.btnSetFocus.oncommand = function(id,event){ // 设置编辑框获取焦点 winform.edit.setFocus(); // 设置光标位置到文本末尾 var textLength = winform.edit.getTextLength(); winform.edit.selPos(textLength, textLength); // 或设置到特定位置(例如第5个符后) // winform.edit.selPos(5, 5); } winform.show(); win.loopMessage(); ``` ### 关键方法说明: 1. **设置焦点** ```aardio winform.edit.setFocus() ``` 使 edit 控件获得输入焦点[^2] 2. **设置光标位置** ```aardio // 语法 editControl.selPos(startPos, endPos) // 设置到末尾示例 var len = winform.edit.getTextLength(); winform.edit.selPos(len, len) ``` - `startPos` 和 `endPos` 相同时设置光标位置 - 使用 `getTextLength()` 获取文本总长度 - 位置索引从 0 开始计数 3. **获取文本长度** ```aardio var textLength = winform.edit.getTextLength() ``` ### 相关事件: - 当控件获得焦点时触发 `EN_SETFOCUS` 事件[^2] - 当控件失去焦点时触发 `EN_KILLFOCUS` 事件[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值