亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

所有瀏覽器的Object.Watch()?

所有瀏覽器的Object.Watch()?

RISEBY 2019-07-08 16:28:00
所有瀏覽器的Object.Watch()?請注意Object.Watch和Object.Observe現在都被否決了(2018年6月)。我在尋找一種簡單的方法來監視對象或變量的變化,我發現Object.watch(),這在Mozilla瀏覽器中是支持的,但不支持IE。所以我開始四處尋找,看看有沒有人寫過類似的東西。我發現的唯一件事就是jQuery插件但我不確定這是不是最好的方法。我當然在我的大多數項目中使用jQuery,所以我不擔心jQuery方面.總之,問題是:有人能給我看一個jQuery插件的工作示例嗎?我很難讓它起作用.?;蛘撸袥]有人知道有什么更好的選擇可以跨瀏覽器工作?回答后更新:謝謝大家的回復!我試用了這里發布的代碼:http:/webreflection.blogpot.com/2009/01/internet-Explorer-Object-Wat.html但我似乎無法使它與IE一起工作。下面的代碼在Firefox中運行良好,但在IE中什么也不做。在Firefox中,每次watcher.status被更改,則document.write()在……里面watcher.watch()調用,您可以在頁面上看到輸出。在IE中,這種情況不會發生,但我可以看到watcher.status是更新值,因為最后一個document.write()Call顯示正確的值(在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>");
查看完整描述

3 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

我創造了一個小的物體,注意墊片一段時間前的事。它適用于IE8、Safari、Chrome、Firefox、Opera等。


查看完整回答
反對 回復 2019-07-08
?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

當前答案

使用新的代理對象,它可以監視對其目標的更改。

let validator = {
    set: function(obj, prop, value) {
        if (prop === 'age') {
            if (!Number.isInteger(value)) {
                throw new TypeError('The age is not an integer');
            }
            if (value > 200) {
                throw new RangeError('The age seems invalid');
            }
        }

        // The default behavior to store the value
        obj[prop] = value;

        // Indicate success
        return true;
    }};let person = new Proxy({}, validator);person.age = 100;console.log(person.age); // 100person.age = 'young'; 
    // Throws an exceptionperson.age = 300; // Throws an exception



查看完整回答
反對 回復 2019-07-08
  • 3 回答
  • 0 關注
  • 627 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號