問題タブ [focusout]

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.

0 投票する
1 に答える
206 参照

ember.js - EmberJS / TextField / focusOut / タイプ番号 / 無効化 / クリア

次のように、bootstrapText という名前のカスタム ビューがあります。

私はこのようにテンプレートから使用しています:

ほら、型は「数値」です。私の観察: type が 'number' に設定されている場合の Ember TextField の動作は...: 解析できない文字列 (例: xyz) を入力すると、入力された値がバインドされた変数 (numberOfItems) に割り当てられないだけです。したがって、numberOfItems は未定義のままです。

問題は、Ember.TextField がその状況でフィールドをクリアしないことです。そのため、フィールドには「xyz」が表示され続けます。

自動的にクリアしたいので、focusOut メソッドを実装します...値を 0 に設定します。しかし、それは私が実際に望んでいることではありません。0 は未定義と同じではありません。「ユーザーが有効なものを入力していない」として「未定義」を使用したい。0 は有効な入力です。

私が試した: this.set('value', undefined); ...しかし、もちろん、ディスプレイには影響しません (変化が検出されません; 未定義 -> 未定義)。

私も試しました: this.set('value', 0); 続いて this.set('value', undefined); ....運が悪い。

これに対する解決策/正しいテクニックを知っていますか?

ありがとう、ラカ

0 投票する
1 に答える
99 参照

javascript - Jqueryで小数が消去されないようにするにはどうすればよいですか?

だから私はフォームに取り組んでおり、小数点の後に小数点以下5桁を許可するフィールドがあります。ただし、これを .focus() および .focus() でも機能させる必要がありました。blur() イベントで動作します。しかし、[elsewere] をクリックすると、入力フィールドで必要に応じて値がフォーマットされ、小数点以下 5 桁から最後の 2 桁が削除されます。例: 78676,56569 と入力すると、78.676,565 が返されます。小数点以下 2 桁が削除されないようにコードを変更するにはどうすればよいですか? これが私が持っているものです:

Jsfiddle は次のとおりです。http://jsfiddle.net/Daria90/zuxu5tva/

私の小数点区切りは DE システムで設定されているので、英語のキーボードではおそらくピリオドであり、keyCode は 46 であることに注意してください。私のものは 44 でした。

0 投票する
2 に答える
3640 参照

javascript - jQuery focusout (または blur) イベントが発生しないのはなぜですか?

jsfiddle hereの下部に、次のHTML があります。

..そしてこのjQuery:

jsfiddle では問題なく動作しますが、Sharepoint ページでイベントが発生しません。 、私がすべきように、このjQueryに基づいています。これは、jsfiddleにあるものと実質的に同じです:

そのため、イベントは発生していません - なぜでしょうか?

Chrome と F12d でページを実行し、コンソールでエラー メッセージを探しましたが、何も見つかりませんでした。

アップデート

A. (「The」ではない) Wolff の場合:

これは、コード ビハインドで要素を作成する方法です。

また、jsfiddle の HTML で「textarea」を「text」に変更しました。

更新 2

ジョナセン (ラッセルではない) クロウの場合:

jQuery を次のように変更しました。

...そして、このイベント ハンドラーからのコンソールにはまだ何も表示されません。

更新 3

私はうまく起動する他の多くの関数/ハンドラーを持っています。なぜこれがそうでないのかは難問です。たぶん、私が持っているものを示すと(いくつかの悲惨な詳細を省略します)、何が起こっているのかを明らかにするかもしれません(失敗した機能は最後/一番下にあります):

0 投票する
1 に答える
3250 参照

jquery - Jquery focusout 検証が chrome ブラウザーで正しく機能しない

jquery focusoutイベントを利用しています。私はFirefoxで完全に動作しています。問題は、(クロムで)テキストボックスをクリックすると、入力をせずに別のテキストボックスを選択できないことです。しかし、それはfirefoxでできます。

HTML

Jクエリ

このコードを と の両方firefoxで実行すると、違いがわかりchromeます。

ジャスフィドル

これをクロムで実行するにはどうすればよいですか?

0 投票する
2 に答える
1371 参照

javascript - jQuery で focusout を使用すると Firefox で機能するのに、addEventListener を使用すると機能しないのはなぜですか?

focusoutFirefox では動作しないMDN を読みましたが、なぜ jQuery で使用すると動作するのでしょうか。jQuery の背後にある魔術とは? ありがとう。

フィドル

0 投票する
1 に答える
1097 参照

javascript - event.relatedTarget は、タッチ スクリーンの focusout で null です

テキストエリアでフォーカスアウトを使用し、フォーカスアウトの原因となったクリックされたボタンの値を隠しておき、後でクリックして処理したいと考えています。私のソリューションは、iPhone と iPad を除くすべてのデバイスでうまく機能します。タッチスクリーンで event.relatedTarget が null である理由を誰か説明できますか? それともブラウザですか?他に何を使うのですか?

e.currentTarget と document.activeElement (HTML 本文全体を返す) を試したほか、e.currentTarget の使用で setTimeout を試しました。iPad と iPhone で、フォーカスアウト内のクリックされたボタンの ID を取得できないようです。

サンプルは次のとおりです。

});

これが私のフィドルです:

https://jsfiddle.net/awebster28/6q6ok4re/25/

0 投票する
0 に答える
18 参照

javascript - フォーカスの喪失を検出するための、ブラウザと互換性のある最高の方法は何ですか

MDN では、blur イベントの互換性テーブルは非常に限られています: https://developer.mozilla.org/en-US/docs/Web/Events/blur

focusout と同様 https://developer.mozilla.org/en-US/docs/Web/Events/focusout

これには jQuery focusOut() を使用する必要がありますか? 他のフォーム要素を使用して React コンポーネント内の入力にイベントを適用しようとしています。それを行うための最も信頼できる方法を探しているだけです。