Pemerhatian Objek Merentas Pelayar dengan Pemalam jQuery
Object.watch() menyediakan cara yang mudah untuk memantau perubahan objek, tetapi ia silang sokongan pelayar adalah terhad. Walaupun pelayar Mozilla menyokongnya, Internet Explorer tidak. Artikel ini meneroka penyelesaian alternatif untuk mencapai keserasian merentas penyemak imbas.
Pemalam jQuery: Observer
Pemalam jQuery Observer menawarkan ciri pemerhatian objek yang serupa dengan Object.watch() . Ia boleh dilaksanakan seperti berikut:
<code class="javascript">var myObject = { property1: 'value1', property2: 'value2' }; // Create an observer instance var observer = new Observer(myObject); // Define a callback function to respond to changes observer.watch('property1', function(name, oldValue, newValue) { console.log('Property ' + name + ' changed from ' + oldValue + ' to ' + newValue); }); // Update the property and trigger the callback myObject.property1 = 'new value';</code>
Pertimbangan Keserasian
Pemalam jQuery WordPress.com yang disebut dalam soalan asal tidak lagi dikekalkan. Alternatif, penyelesaian silang penyemak imbas diperincikan di bawah.
Contoh Kemas Kini untuk Keserasian IE
Untuk menggunakan Object.watch() dalam Internet Explorer, pertimbangkan pelaksanaan berikut:
<code class="javascript">var createWatcher = function(obj, prop, callback) { var previous = obj[prop]; Object.defineProperty(obj, prop, { get: function() { return previous; }, set: function(value) { var old = previous; previous = value; // Call the callback, returning new value return callback.apply(obj, [prop, old, value]); }, enumerable: true, configurable: true }); };</code>
Contoh yang dikemas kini ini seharusnya berfungsi dalam Internet Explorer dan penyemak imbas lain yang tidak menyokong Object.watch(). Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ia memerlukan pengubahsuaian sifat objek yang diperhatikan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pemerhatian Objek Merentas Pelayar Tanpa Object.watch()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!