1
0
mirror of synced 2024-11-26 06:46:04 +03:00

work around chrome and mutation observer bug. fixes #1099

This commit is contained in:
Igor Vaynberg 2013-04-27 11:08:05 -07:00
parent 53fff96c29
commit 78139a80ba

View File

@ -961,12 +961,19 @@ the specific language governing permissions and limitations under the Apache Lic
// mozilla and IE
el.bind("propertychange.select2 DOMAttrModified.select2", sync);
// hold onto a reference of the callback to work around a chromium bug
if (this.mutationCallback === undefined) {
this.mutationCallback = function (mutations) {
mutations.forEach(sync);
}
}
// safari and chrome
if (typeof WebKitMutationObserver !== "undefined") {
if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
this.propertyObserver = new WebKitMutationObserver(function (mutations) {
mutations.forEach(sync);
});
this.propertyObserver = new WebKitMutationObserver(this.mutationCallback);
this.propertyObserver.observe(el.get(0), { attributes:true, subtree:false });
}
},