問題タブ [mutation-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.

0 投票する
4 に答える
19086 参照

html - DOMミューテーションイベントの置換

DOMミューテーションはw3cによって非推奨としてマークされているため(http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationeventsを参照)、属性の変更を検出するための(高速な)代替方法はありますか? DOMで?

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

javascript - Webkit で要素のスタイルが変更されたときに JavaScript で検出するにはどうすればよいですか? (DomAttrModified はサポートされていないようです)

重複の可能性:
Webkit で動作する DOMAttrModified の代替手段はありますか

要素のスタイルが変更されたときに JavaScript で検出しようとしています。この変更が検出されると (.NET バリデーターがトリガーされると表示されるようになります)、ページの別の場所で別の変更がトリガーされます (.NET コードによって制御されない無関係な要素に対する視覚効果)。

DomAttrModified (または IE の場合は propertychange) を使用して、変更が発生したときに通知するイベント ハンドラーを設定できます。ただし、これは Webkit ではサポートされていません。私が探していることを行う代替またはわずかに異なるハンドラーはありますか?

これは、私が現在 Firefox と IE で使用しているものを示すデモ ページです: http://cssquirrel.com/testcases/detect-style-change/

考え?

0 投票する
3 に答える
1473 参照

javascript - 機能/イベントのブラウザサポートを確認するにはどうすればよいですか?

以前は、ブラウザスニッフィングを使用して、特定のイベントまたは機能が利用可能かどうかを推測していました。ブラウザのスニッフィングは、機能のスニッフィングを優先して「非推奨」または「回避」されていることを理解しています。特定のイベントを処理できるかどうかを確認する方法を教えてください。

例にとってみましょうDOMNodeInserted。Chrome、FF、Safariでサポートされていますが、IEではサポートされていません。このイベントが利用可能な場合、どうすればスニッフィングできますか?図書館はありますか?どうやって適切な機能スニッフィングをしますか?

0 投票する
4 に答える
10913 参照

jquery - Jquery-DOM要素が追加されたときに関数を実行します

jQueryとjQueryUIを備えたWebサイトがあります。私はJavascript関数を持っています:

この関数は、ページの読み込み後に実行され、クラス「ToButton」のすべての要素を変更します。

また、ユーザーがボタンを押すとHTMLコードが変更されます。例えば:

また、この新しい要素に対してToButton関数も実行したいのですが、jQueryのライブメソッドまたはデリゲートメソッドには「show」または「create」イベントタイプがありません。したがって、すべてのHTMLコードを変更した後、関数ToButton()を呼び出す必要があります。

ToButton関数をすべての要素に委任する方法を教えてください。

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

javascript - domnodeinserted前 - javascript

ノードが挿入される前にイベントを起動することは可能ですか? 「domnodeinserted」が gecko ベースのブラウザーで機能することは知っていますが、ノードが挿入された後にコードが実行されることは知っています。ノードが挿入される前に実際にコードを実行したい。前もって感謝します!

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

javascript - DOMNodeInsertedIntoDocumentイベントを回避する

createMyElementHTMLドキュメントに挿入できるノードを返すjavascript関数があると仮定します。

正しく機能するために、によって作成されたノードのコードは、少なくともドキュメントに挿入されるとすぐcreateMyElementに、グローバル上のイベントをリッスンする必要があります。document

私の最初の試みは、作成時にノードにリスナーを追加し、必要なリスナーを順番に追加および削除することでしDOMNodeInsertedIntoDocumentた。DOMNodeRemovedFromDocumentdocument

ただし、ミューテーションイベントは現在廃止されているため(ブラウザ間で確実に機能しないようです)、より良い解決策を探しています。

documentノードの作成時にイベントのリスナーを追加すると機能します。ただし、これはメモリとパフォーマンスのリークを引き起こすため、適切な解決策ではないようです。ノードがドキュメントから再度削除されて不要になった後でも、リスナー(およびノー​​ドへの参照)documentはまだ持続します。

0 投票する
6 に答える
26425 参照

javascript - DOMNodeInsertedの代替

DOMNodeInsertedは動的ページを遅くすることが知られており、MDNはそれをまったく使用しないことを推奨していますが、代替手段は提供していません。

挿入された要素には興味がありません。スクリプトがDOMを変更するタイミングを知る必要があります。ミューテーションイベントリスナー(おそらくnsiTimer内のgetElementsByTagName)に代わるより良い方法はありますか?

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

dom - DOMAttrModified ビジュアル属性

私は DOMAttrModified にいくつかのパッチを適用して Webkit で作業していますが、どのような属性を変更するとこのイベントがトリガーされるのでしょうか? たとえば、innerHTML を変更してもトリガーされません。また、これらの属性のどれがユーザー インターフェイスを直接変更するかを簡単に知る方法はありますか? たとえば、id は直接ではありませんが、id の値に応じて間接的に JavaScript によって変更される可能性があります。

ありがとう!

0 投票する
6 に答える
12528 参照

javascript - JQueryまたはバニラJavascriptのDOMミューテーションイベント

クロスブラウザを起動するJQueryまたはバニラJavascriptにDOMミューテーションイベントはありますか?

明確にするために、divを本文に挿入するスクリプトがページにあるとします。スクリプトにアクセスできず、divがいつ挿入されたかわかりません。要素がいつ挿入されたかを知るために、リスナーを追加できるDOMミューテーションイベントがあるかどうか疑問に思いました。タイマーを使用して挿入を定期的にチェックできることは知っていますが、これによって発生するオーバーヘッドはあまり好きではありません。

0 投票する
4 に答える
22378 参照

javascript - コンテンツ編集可能なHTML要素のイベントをリッスンする

属性を持つHTML要素のようなイベントfocusやイベントをリッスンする方法があるかどうかを調べようとしています。changecontenteditable

私はこのhtmlマークアップを持っています:

私は成功せずにこれらを試しました(JSBin):

キーボードやマウスのイベントを聞きたくありません。W3CMDNでについての明確なドキュメントは見つかりませんでしたcontenteditable

changeコンテンツの編集可能なHTML要素でイベントやfocusその他のイベントを聞くことは可能ですか?