0
  • 我在模态窗口中有一个 TextArea。当显示模态窗口时,我希望将焦点设置到这个 TextArea。我还希望 TextArea 在显示时具有默认文本,并且光标位于该文本的开头。
  • 当显示模态窗口时,我在 TextArea 上调用 focus() 并在 focus() 处理程序中,设置我想要的文本并调用 setSelection(0, 0) 将光标移动到位置 0。
  • 这似乎不起作用,因为光标仍位于设置文本的末尾。
  • 我正在使用最新版本的 SDK。
  • 如果有人可以帮助我解决这个问题,那就太好了。谢谢!

Titanium SDK:3.0.2 目标平台:仅限 IOS

这是代码:

// 'statusUpdateArea' is my TextArea

$.tabbedBarNav.addEventListener('click',function(e) 
{
   statusUpdateArea.focus();
}

statusUpdateArea.addEventListener('focus',function() 
{
   statusUpdateArea.setValue(" -  I am here'");

   //API to set cursor at beginning doesn't work!!!!!! [or I don'tknow how to use it :(   ]
   statusUpdateArea.setSelection(0, 0);

});
4

3 回答 3

2

不要集中注意力。setSelection 将为您聚焦文本区域。聚焦会阻止正确设置选择。取消注释 .focus 调用以查看它不起作用。

试试下面的。它适用于我在 iOS 上使用 Titanium SDK 3.x。

var win = Ti.UI.createWindow({
    backgroundColor: '#fff'
});
var textArea = Ti.UI.createTextArea({
    value: 'Some text.'
});
win.add(textArea);
win.addEventListener('open', function(evt) {
    // textArea.focus();
    textArea.setSelection(0, 0);
});
win.open();
于 2013-03-04T05:39:22.977 回答
0

默认使用hintText..你不能这样设置文本..实际的setSelection不适用于光标移动。它用于选择文本字段中的一部分值...所以您不能使用该方法...使用提示文本并让用户输入..稍后您可以将默认文本添加到文本字段的值中有用。。

于 2013-02-23T06:02:10.503 回答
0

我在 Appcelerator 开发论坛上得到了答案。IOS上的实现似乎有一个错误:

Appcelerator 开发论坛

于 2013-02-26T21:39:47.287 回答