ノックアウト観測値のイベントをinput
にバインドして実行します。この関数は、何も入力しなくても、コントロールがフォーカスを失ったときに実行する必要があります。私はイベントバインディングを変更しようとしましたが、ユーザが何も入力せずにコントロールから離れると起動しません。私はmouseoutイベントを試しましたが、フォーカスが失われた後、ユーザーがフォーム内の他の場所をクリックしたときにのみ発生します。私はフォーカスがタブからでもコントロールから離れるとすぐに射撃をしたい。続き<input>ノックアウトのlostfocus/onblurイベント
は私がマウスアウトイベントに使用されるコードです:
<input
type="text"
id="txtFirstName"
tabindex="1"
maxlength="25"
class="txtbox"
style="width: 200px;"
data-bind="value: FirstName,
attr: {title: FirstNameErrorMessage },
css: {validationFailed: !IsValidFirstName() },
event: {mouseout: ValidateFirstName}"
/>
this.ValidateFirstName = function() {
self.IsValidFirstName(true);
self.FirstNameErrorMessage('');
if (self.FirstName() == '') {
self.IsValidFirstName(false);
self.FirstNameErrorMessage('First Name is required');
}
}
誰も助けてくださいことはできますか?
1:OMG私はチョッピングと私は非常に近く、まさにこのように書いたコードのスニペットでハッキングされてきました。私は自分の人生のために、私が自分自身を書いていなかったあなたの答えに働く地球上で何が違うのかを理解できませんでした。私は 'data-bind =" value "の代わりに' data-bind = "text"を入力に持っていました。あなたの答えにバインディングステートメントを追加してくれてありがとう。今日は明らかにズボンにキックが必要でした。 –
@JeelEtherton - 私は間違いなくそれを1〜2時間はやったことがありません。あなたがそれを理解してうれしいです。 –
私はこの手法を試しました。問題は、私にとっては、hasFocusは最初のページの読み込み時に常に「発動」する(真になる)ように見えるため、すべてのことを間違った状態にしています。対応するviewmodelの値をfalseに初期化しますが、これは何も変わりません。 –