0

すべてのテキスト入力でこの設定を繰り返す代わりに?

明確にするために、私はこれについて話している:

<input type="text" name="email"data-bind="value: email, valueUpdate:'afterkeydown'" />

私の入力の 90% では、これ'change'が現在のデフォルトです。

4

4 に答える 4

1

既存の値 bindingHandler を置き換えて、afterkeydown バインディングを追加できます。

優れたソリューションを参照してくださいどうすれば Knockout JS を取得して、フォーカスを失う代わりにキーを押したときにデータバインドできますか?

于 2013-10-21T10:03:11.607 に答える
1

すべてのテキスト入力のデフォルト機能を直接設定することはできません。代わりにできることは、テンプレート入力を作成することであり、それらはすべて、たとえばそれらのテンプレートにすることができます

<!-- ko template:{name:'input-template', data: email}--><!--/ko-->

コンテナレス表記を使用することで、余分な html 要素の作成を回避できます

次に、必要なものを使用してテンプレートを定義します。

<script type="text/html" id="input-template">
    <input type="text" name="$data" data-bind="value: $data, valueUpdate:'afterkeydown'"/>
</script>
于 2013-05-15T20:54:02.910 に答える
0

Knockout には valueUpdate のデフォルトの動作を変更するオプションがないため、Knockout ライブラリ ソースを変更して希望どおりに動作させるしかありません。ライブラリが更新された場合は、この変更を再度行う必要があります。または、Knockout の開発者に、デフォルトの valueUpdate イベントを変更できる構成オプションを追加するよう依頼することもできます。

于 2013-09-20T20:40:22.520 に答える
0

クラスでターゲット入力を「マーク」できる場合は、これを試すことができます:

$('.yourClass').attr('data-bind', "value: email, valueUpdate:'afterkeydown'");

役立つことを願っています

于 2013-05-15T20:39:32.503 に答える