問題タブ [dom3]
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 - DOM レベル 3 仕様のイベント グループの章はどうなりましたか?
DOM イベント レベル 3 仕様の2006 年版には「イベント グループ」の章がありますが、現在のバージョンにはありません。この章はどうしたの?意図的に削除されたのでしょうか?(部分的に) 順序付けされたイベント ハンドラー リストがあると非常に便利です。
html - DOMミューテーションイベントの置換
DOMミューテーションはw3cによって非推奨としてマークされているため(http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationeventsを参照)、属性の変更を検出するための(高速な)代替方法はありますか? DOMで?
javascript - DOMレベル3でDOMSubtreeModifiedイベントが非推奨になったのはなぜですか?
DOMSubtreeModifiedイベントが非推奨になったのはなぜですか?代わりに何を使用する必要がありますか?
javascript - DOM リスナーの実装
私はDOMリスナーがないと思っていたので、独自の「重い」リスナーを実装しました:
これはただひどいと思います。だから私はここでSOを検索したところ、この質問がポップアップしました。ただし、受け入れられた質問に関する最後のコメントは、それが非推奨であると述べています。
w3.org/TR/DOM-Level-3-Events/#event-type-DOMSubtreeModifiedは、このイベントは非推奨であると言っていますが、代わりに何を使用しますか?
それに代わるものはありますか?
PS Chrome 拡張機能であるため、Chrome でのみ動作する必要があります。
javascript - DOM レベル 3 リスナーでバックスペースを無効にする
ユーザーが入力できるページを作成しています。バックスペースのデフォルトの機能はページに戻ることですが、これを防ぎ、独自の機能をそれに割り当てる必要があります。
問題は実際にはバックスペースを妨げています。捕まえることはできますが、防ぐことはできません。レベル 3 のイベント リスナーを使用しています。event.preventDefault()
私にとってはうまくいかず、どちらも偽を返しませんでした。
私もこれを試しました:
と
ただし、最初は基本的に
2番目は何もしませんか?
jquery - DOM3 getUserData/setUserData メソッドの置き換え
このように、 DOM3 メソッド get/setUserData()
を使用して DOM 内のデータをやり取りする、昔ながらの Firefox 拡張コードがいくつかあります。残念ながら、これらはDOM4で廃止されたため、Firefox はそれらのサポートを中止する予定であり、Chrome は最初からサポートしていませんでした。
クロスブラウザの代替品はありますか? jQuery$.data
もオプションのようですが、「純粋な」JavaScript の方が望ましいでしょう。
internet-explorer - Internet Explorer の DOM レベル 3 XPath
Windows 7 に IE10 をインストールしたばかりで、AJAX 要求からの XML が互換性のある DOM ドキュメントになったことをうれしく思っていても、 のようなかなり基本的な機能document.evaluate
がまだサポートされていないことに気付きました。
さらに悪いことに、これらの XML はカスタム MicrosoftオブジェクトではないIXMLDocument
ため、ノードはサポートselectNodes
されselectSingleNode
なくなりました。結局、IE10 は DOM Level 3 XPath や MSXML Xpath をサポートしていないようです。
まじか、マイクロソフト?足りないものはありますか?
もちろん、 と を使用できますquerySelector
がquerySelectorAll
、下位互換性をかなり失いたくありません。
それ以外の場合でも、この行を使用して MSXML ドキュメントを要求できます。
ここで述べたように、しかし、IEでも標準のDOMドキュメントを最後に扱うことができればいいと思います。
では、IE10 で標準の DOM ドキュメントで XPath を使用する方法はありますか?
UPDATE 26/7/2013 IE11 はまだ安定していませんが、まだサポートしていませんdocument.evaluate
。安定版リリースでサポートされない場合、サポートされるとは思えません。言うまでもなく、これはばかげています。
querySelector
DOM ノードで/を使用できることAll
はわかりましたが、IE9 以前ではサポートされていません。IE9 はまだ非常に一般的に使用されており、とにかく XPath はセレクターよりも強力です。
幸いなことに(そう言えば)、まだ設定できますxhr.responseType = "msxml-document"
。一瞬、もうできないんじゃないかと思った...
UPDATE 2013 年 11 月 23 日IE11 は現在安定していますが、残念ながらdocument.evaluate
. JSON やその他の軽い表記形式が優先され、重い XML ドキュメントが Web アプリケーションで使用されることが少なくなってきているため、これは問題ではなくなりつつありますが、それでも問題はありません。
プロパティを設定してresponseType
も従来の XML ドキュメントが引き続き提供されるため、何も失われることはないと思います。ただし、それがIE12に当てはまるかどうかはわかりません。
UPDATE 15/8/2015今はばかげているように聞こえますが、Edge がサポートするようになりdocument.evaluate
ました。ちょうど (ほぼ) すべてがデータ交換のために JSON に切り替わったときです。まあ、遅刻しないよりはましだと思います。
javascript - DOMNodeInserted/Removed イベント ポリフィル (または同様のイベント)
ノードの子が削除または追加されたときの変更をリッスンする方法が必要です。新しいアイテムが追加されたときに要素を一番下までスクロールする自動スクロール プラグインを作成しました。私が聞いているイベントはDOMNodeInserted
andDOMNodeRemoved
です。
と のポリフィルを探していましDOMNodeInserted
たDOMNodeRemoved
。周りを見回しても、すでに存在しているものは見つかりませんでした。このイベントはすべてのブラウザーでサポートされているわけではなく、現在は推奨されていません。簡単に作成した単純な (単純な可能性が高い) ポリフィルがありますが、うまく機能するとは思えません。
これらのイベントが非推奨であることは知っていますが、要素の子の変更をリッスンするより良い方法はありますか?