J'utilise Office-Fabric-Ui et sa fonctionnalité de boîte de dialogue.Supprimer le gestionnaire de clic de la superposition de dialogue de matrice
var template = $("<div id='something'>This is modal dialog content</div>");
var uidialog = new fabric["Dialog"](template[0]);
Maintenant, uidialog
a _overlay
variables, le clic de ce _overlay
les uidialog
se ferme, mais nous ne voulons pas la boîte de dialogue pour fermer le clic et essayer de supprimer les gestionnaires sur _overlay
J'ai essayé de nombreuses solutions certains d'entre eux sont, mais encore incapables d'enlever les gestionnaires de l'élément de recouvrement:
Solution 1
fabric.Dialog.prototype.RemoveOverlayClick = function() {
this._overlay.overlayElement.removeEventListener("click", this.close.bind(this));
this._overlay.overlayElement.removeEventListener("click", this._overlay.hide.bind(this._overlay));
this._overlay.overlayElement.removeEventListener("click", this.__proto__.close.bind(this.__proto__));
this._overlay.overlayElement.removeEventListener("click", fabric.Dialog.prototype.close.bind(fabric.Dialog.prototype));
}
uidialog.RemoveOverlayClick();
Solution 2
uidialog._overlay.overlayElement.removeEventListener("click", uidialog.__proto__.close.bind(this.__proto__));
uidialog._overlay.overlayElement.removeEventListener("click", fabric.Dialog.prototype.close.bind(fabric.Dialog.prototype));
Quelqu'un peut-il suggérer comment supprimer des gestionnaires d'événements de clic sur fabric.Overlay
?