フォーム要素にフォーカスを設定したいと思います。 jQueryを使用すると、これは簡単です。ちょうど$('selector').focus
です。Aureliaに要素をフォーカスする
私は、単純な<input ref="xxx" id="xxx" type="text">
を作成していると私の.TSは、ファイル内の私は、プロパティを追加し、ここでそれを使用します。
attached() {
this.xxx.focus()
}
何も起こりません。簡単なことが難しくなってきていると感じるようになり始めました。
// set focus to the first element when the add-cell collapse is shown
$('#collapsedAddTask').on('shown.bs.collapse', function() {
$('#AddTaskTitle').focus()
})
私の基本的なHTMLの作品(シングルないページアプリ):
は、(元のユースケースは、崩壊はこのように、示されているブートストラップ崩壊内部のフォーム要素にフォーカスを設定することでしたしかし、オーレリアと。アウレリアの方法は何か?更新 ミロスラフ・ポポヴィッチ以下からの回答を使用して、そのため(これはブートストラップ崩壊成分であり、覚えのようなコメントで、私はそれが動作するようになりました):
<!-- the heading with an A that toggles visibility -->
<div class="panel-heading">
<a href="#collapsedAddTask" data-toggle="collapse" id="addTaskHeader" click.delegate="addTaskShown()">Add task</a>
</div>
<!-- the body, which is initially hidden -->
<div class="panel-body">
<div class="collapse" id="collapsedAddCell">
<input type="text" focus.bind="addTaskFocused">
<!-- more controls ... -->
</div>
</div>
そして、どのようにあなたが聞くだろう崩壊事件? $( '#collapsedAddTask')。を使用してください( 'shown.bs.collapse'、function(){....}) 'またはAureliaの方法はありますか? – specimen
jQueryの使用は1つのオプションです。私は通常のDOMイベントではないので、そのイベントにトリガをバインドすることはできません( '
)。通常は、jQueryまたはプレーンDOMを使用してDOM関連のロジックをすべてカプセル化したいカスタム要素またはカスタム属性に適用されます。私。この場合、カスタム要素を使用し、 '別のアイデア...あなたは 'focus-child'カスタム属性を作成できますこの 'shown.bs.collapse'イベントを処理し、最初の入力要素または指定されたID値を持つ要素にフォーカスを設定します。これで、div - '
'を折りたたむだけの属性を追加することができます。 docsのカスタム属性の詳細 - http://aurelia.io/docs#/aurelia/framework/1.0.0-β1.1.4/doc/article/cheat-sheet/8 –