无法将光标移动到Titanium.UI.TextArea中的位置0

时间:2013-02-22 19:19:15

标签: titanium appcelerator titanium-mobile appcelerator-mobile

  • 我在模态窗口中有一个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);

});

3 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我在Appcelerator dev论坛上得到了答案。 IOS上的实现似乎存在错误:

Appcelerator Dev forum