問題タブ [javascript-events]
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 - Firefox で入力した文字を変更する方法
テキスト入力で文字「。」を変更する必要があります。入力中に「、」に。IE では、keypress イベントの keyCode イベント プロパティを次のように変更します。
しかし、Firefox ではキー イベントに入力された文字を変更することはできないようです。助言がありますか?
javascript - Javascript: 要素をループして特定の要素の onblur ハンドラを呼び出す方法
画面上に多数のテキスト ボックスとラジオ ボタンがあり、すべてがさまざまな DIV で動的に構築されている場合があります。すべてのテキスト ボックスのエントリを検証する onblur ルーチンがありますが、ラジオ ボタンの選択によっては、テキスト ボックスのエントリが元々有効であったときに無効になる場合があります。無効な要素にフォーカスを置いているため、ラジオ ボタンから無効にされたテキスト ボックスの 1 つに入り、無限ループを作成する可能性があるため、ラジオ ボタンで onblur を使用することはできません。各テキスト ボックスには onblur 呼び出し用の独自の特別なパラメーターがあるため、これを行う最善の方法は、フォームが送信されたときにテキスト ボックスの onblur イベントを呼び出して、ラジオ ボタンの構成ですべてのエントリがまだ有効であることを確認することだと思います。選択しました。また、onblur イベントの 1 つが false を返した場合に送信を停止して、間違っているテキスト ボックスを修正できるようにする必要もあります。これは私が書いたものです...
私はもともと (!document.forms[0].elements[intElement].onblur()) を持っていましたが、onblur イベントからの警告メッセージが表示されませんでした。アラート メッセージが表示されるようになりましたが、エラーが発生した場合でも要素をループし続けます。両方の方法でデバッガーを使用してこれを実行しましたが、問題なくループしているように見えますが、1) 必要なときに停止して false を返さないか、2) ユーザーに通知するアラート メッセージを実行していないかのいずれかです。エラーでした。誰かが助けることができますか?それはおそらく私がやっている愚かなことです。
呼び出される onblur メソッドは次のようになります...
編集:これが期待どおりに機能しない理由はわかったと思いますが、必要なことをどのように達成できるかはまだわかりません。下のライン…
また
単一の onblur 関数 (f_VerifyRange) が返すものを返していません。代わりに、何があっても常に true または false を返します。最初のケースでは、最初のテキスト ボックスにエラーがなかったにもかかわらず、true を返し、最初のテキスト ボックスの後で送信を終了して中止します。2 番目のケースでは、false を返し、すべてのボックスを通過します。エラーが発生した可能性がありますが (表示されます)、エラーはないと判断されるため、送信が続行されます。本当に必要なのは、onblur 関数である f_VerifyRange から戻り値を取得する方法だと思います。
javascript - クリック可能なテキストのターゲット領域にアイコンを含める最良の方法は何ですか?
現在、次の JavaScript を使用して展開メニューを作成しています。
http://demo.raibledesigns.com/struts-menu/scripts/menuExpandable.js.src
現在、クリックできるのはハイパーリンク テキストのみです。テキストの横にあるアイコンがクリックに反応するようにする最善の方法は何ですか?
javascript - Javascript onHover イベント
既存の onmouseover、onmouseout、およびある種のタイマーを使用して JS onHover イベントを設定する標準的な方法はありますか? または、ユーザーが一定時間要素にカーソルを合わせた場合にのみ、任意の関数を起動する任意のメソッド。
html - html onresizeend イベント、またはサイズ変更の終わりを検出する同等の方法
onresize イベントがブラウザーでいつ終了するかを検出しようとしています。「onresize」イベントを使用すると、Firefox ではサイズ変更イベントが終了した後に 1 回だけ発生するように見えます。これはまさに私が望んでいることです。しかし、IE で試してみると、サイズ変更中に「onresize」イベントが何度も発生します。
MSDN で宣伝されている「onresizeend」イベントも試してみます。しかし、FFでもIEでも、まったく起動しないようです。次のコードを使用します。
これが機能しない理由はありますか?「onresizeend」イベントがサポートされていない可能性がありますか? この場合、サイズ変更イベントが終了したことをどのように検出できますか?
ありがとう。
javascript - javascriptオブジェクトリテラル内で定義されたイベントハンドラーはそれ自体にアクセスできますか?
オブジェクトが関数の場合、クロージャー(var self = this)でこれを実行できることはわかっています...
javascript - IE での Firefox スタイルの onclick 引数
Firefox では、onclick イベント ハンドラーをメソッドに追加すると、イベント オブジェクトが自動的にそのメソッドに渡されます。これにより、特に、どの特定の要素がクリックされたかを検出する機能が可能になります。例えば
IEでこれを近似する方法はありますか? body 要素のイベント ハンドラーから、どの要素がクリックされたかを検出できる必要があります。
javascript - SOFの新しい投稿で、「Grippie」のような「onclick」なしでJavascript関数を実行するにはどうすればよいですか。
質問や回答を投稿するときonclick
のStackOverflowの>のように、SOFの新しい投稿で「Grippie」のようなものなしでJavascript関数を実行するにはどうすればよいですか?<div class="grippie" style="margin-right: 59px;"/
可動エッジを知らせる素敵なCSSカーソルを取得しましたが、「グリッピー」をクリックしたことを確認してフィールドのサイズを変更するJavaScriptはどのようになっていますか?
編集: jQueryにつながり、ハンドラーを説明する回答をありがとうございます。次のように、要素がいつクリックされるかを決定するハンドラーを簡単に使用できますか?
またはしかしこれはうまくいくかもしれませんか?
javascript - 要素の位置が変更されたことを検出するjQueryイベント
top
特定のDIVのプロパティがいつ変更されたかを判断するために使用できるjQueryイベントがあるかどうかを知りたいです。
たとえば、DIVの上に非表示のコンテンツがあります。そのコンテンツが表示されると、DIVが下にシフトされます。offset()
そのイベントをキャプチャしてから、関数を使用してX/Y座標を取得したいと思います。
javascript - IE の非バブル送信イベントの回避策
イベント処理が制御不能になった多くの AJAX を含む大規模な Web アプリケーションに取り組んでいます。すべてを管理するイベント委任システムをセットアップしようとしていますが、IE の非バブル フォーム送信に対する回避策があるかどうか疑問に思っています (AJAX 経由で挿入/更新されるフォームがたくさんあります)。私が思いついた最善の方法は、AJAX 呼び出しから応答を受け取るたびに送信ハンドラーをリロードするために少しの JavaScript を実行することですが、これは醜いようです。何か案は?
また、IE のさまざまなバージョンでどのイベントが正しく伝播されないかについて、適切なリファレンスを持っている人はいますか? 良い情報を見つけるのに苦労しました(ただし、この他の質問には少しあります)。
サイトの実際の例: 一部のユーザー コンテンツのインプレース編集があります。イベントの委譲を行うと、body で送信イベントをリッスンし、イベントをトリガーした要素を確認して、それに応じて処理します。送信は IE ではバブルしないため、これは機能しません。$5 の解決策は、他のすべてのイベントに対してイベント委任を行い、Prototype で次のようなものを使用して送信を処理することです。
しかし、これは動的に作成されたフォームでは機能しません (上記のようにハンドラーを毎回再インスタンス化する必要があります)。どこでも単純な委任を行うだけです(特別な場合などはありません)。