問題タブ [knockout-binding-handlers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 入力時に電話番号をフォーマットする (xxx) xxx - xxxx
私は、(米国の) 電話番号を入力時に次の形式でフォーマットするカスタムbindingHandler
を書いています。knockout
(xxx) xxx - xxxx
HTML コード...
そしてバインディングハンドラー...
次のコードは期待どおりに機能します。このアプローチの 1 つのフローは、を使用して電話番号を削除することbackspace
です。最後の 4 桁を削除してヒットすると、長さに基づいてandを動的に追加しているため、 norを-
削除できません。矢印キーを使用するか、それらの記号の前をクリックして削除を開始するか、テキスト ボックスを強調表示して一度にすべて削除することができます。しかし、バックスペースまたはシミュレートによってシンボルを削除し、コードから動的に削除できる必要があります。-
( )
-
( )
この問題を解決する方法について何か提案はありますか?
アップデート
これがJSFIDDLEです。このフィドルで私が抱えている唯一の問題は、値の変更時に値が更新されないことです。Enterキーを押すか、テキストボックスを離れた場合にのみ更新されます。他に何か欠けているかどうかはわかりません...
発生している問題を説明するためにロジックを更新しましたが、修正されました。しかし、どちらのロジックにももう 1 つ問題があることに気付きました。
電話番号があれば
(123) 456-7890
市外局番から 1 を削除すると、カーソルは同じ場所 (2 の前) にとどまりません。文字列の最後に移動し、すべてが 1 桁下にシフトします。
javascript - ノックアウト バインディング (foreach) で不明な関数を渡す - 可能ですか?
簡単な例として、これが私のリピーターだとしましょう:
このコードを使用している人は誰でも、onclick を実行するモデル自体ではなく、選択した関数を渡すことができるようにしたいのですが、それは可能ですか? それをモデルに割り当ててクリックバインディングとして設定する方法はありますか? 私はこれを理解できないようです...
knockout.js - Knockout JS: 計算されたオブザーバブルが更新に失敗する
計算されたまたは純粋な計算された ko 関数を使用してノックアウト テキストを監視可能に更新するのに問題があります。
バインドは機能していますが、ログインまたはログアウトしても更新されません。
以前のノックアウト クリック バインディングは、要素をクリックするたびに更新されていたのでuserFunctions.isLoggedIn(sessions.user)
、ログイン/ログアウトのステータスに応じて、それ自体が適切に更新されることがわかっています。
text:logOption
ステータスに応じて「ログイン」または「ログアウト」で更新したいのですが、ノックアウトはuserFunctions.isLoggedIn(sessions.user)
計算変数内のステータスの変化を監視していないように見えますか?