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 呼び出しのコメントを外して、機能しないことを確認します。

以下を試してください。これは、Titanium SDK 3.x を搭載した iOS で動作します。

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 devフォーラムでこれに対する答えを得ました。IOS での実装にバグがあるようです。

Appcelerator 開発者フォーラム

于 2013-02-26T21:39:47.287 に答える