[解決済み] Object.watch()で全ブラウザに対応?
質問
以下の点にご注意ください。
Object.Watch
と
Object.Observe
は、いずれも現在(2018年6月現在)非推奨です。
オブジェクトや変数の変更を簡単に監視する方法を探していたところ、私は
Object.watch()
を見つけましたが、これは Mozilla ブラウザではサポートされていますが、IE ではサポートされていません。そこで、誰かが同等のものを書いていないかどうか、検索を開始しました。
私が見つけた唯一のものは jQueryプラグイン というのがありましたが、それがベストな方法かどうかはわかりません。私は確かに私のプロジェクトのほとんどでjQueryを使用しているので、jQueryの側面については心配していないのですが...。
とにかく、質問です。どなたか、その jQuery プラグインの動作例を示していただけないでしょうか。私はそれを動作させるのに問題があります...
または、クロスブラウザで動作する、より良い代替手段を知っている人はいますか?
回答後の更新 :
回答してくれた皆さん、ありがとうございました ここに掲載されているコードを試してみました。 http://webreflection.blogspot.com/2009/01/internet-explorer-object-watch.html
しかし、IEで動作させることができないようでした。以下のコードは、Firefox では正常に動作しますが、IE では何もしません。Firefoxでは、毎回
watcher.status
が変更されるたびに
document.write()
で
watcher.watch()
が呼び出され、ページ上に出力されるのを見ることができます。IEでは、そのようなことは起こりませんが、その際に
watcher.status
が値を更新していることがわかります。なぜなら、最後の
document.write()
を呼び出すと正しい値が表示されるからです(IEとFFの両方で)。しかし、もしコールバック関数が呼び出されないのであれば、それはちょっと意味がありません... :)
私は何かを見逃しているのでしょうか?
var options = {'status': 'no status'},
watcher = createWatcher(options);
watcher.watch("status", function(prop, oldValue, newValue) {
document.write("old: " + oldValue + ", new: " + newValue + "<br>");
return newValue;
});
watcher.status = 'asdf';
watcher.status = '1234';
document.write(watcher.status + "<br>");
どのように解決するのですか?
(クロスポストのために申し訳ありませんが、私は同様の質問に対して与えたこの答えは、ここでうまく機能します)
私は小さな オブジェクト.ウォッチ シム を作成しました。IE8、Safari、Chrome、Firefox、Opera などで動作します。
関連
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] 動的に生成された要素にイベントバインディングを行うか?
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?