আমি গ্লেনস ধারণার ভিত্তিতে ক্যাটালিন্ট থেকে লুকানো / শো ইভেন্ট ট্রিগারটি পরিবর্তন করেছি। আমার সমস্যাটি ছিল আমার একটি মডুলার অ্যাপ্লিকেশন রয়েছে। আমি ডিভাইস পিতামাতাদের দেখানো এবং লুকানো মডিউলগুলির মধ্যে পরিবর্তন করি। তারপরে যখন আমি একটি মডিউলটি লুকিয়ে রাখি এবং অন্য একটি দেখি, তখন তার পদ্ধতির সাথে আমি যখন মডিউলগুলির মধ্যে পরিবর্তন করি তখন আমার দৃশ্যমান বিলম্ব হয়। আমার কেবল কখনও কখনও এই ইভেন্টটি আলোকিত করার প্রয়োজন হয় এবং কিছু বিশেষ শিশুদের মধ্যে। তাই আমি সিদ্ধান্ত নিয়েছি কেবলমাত্র "শিশুদের ডিসপ্লে" শ্রেণীর ক্লাসে শিশুদের অবহিত করব
$.each(["show", "hide", "toggleClass", "addClass", "removeClass"], function () {
var _oldFn = $.fn[this];
$.fn[this] = function () {
var hidden = this.find(".displayObserver:hidden").add(this.filter(":hidden"));
var visible = this.find(".displayObserver:visible").add(this.filter(":visible"));
var result = _oldFn.apply(this, arguments);
hidden.filter(":visible").each(function () {
$(this).triggerHandler("show");
});
visible.filter(":hidden").each(function () {
$(this).triggerHandler("hide");
});
return result;
}
});
তারপরে যখন কোনও শিশু "শো" বা "লুকান" ইভেন্টের জন্য শুনতে চায় তখন আমি তাকে "ডিসপ্লেওবার্সার" ক্লাসটি যুক্ত করতে হবে এবং যখন এটি শুনতে অবিরত করতে চায় না, তখন আমি তাকে ক্লাসটি সরিয়ে দেব
bindDisplayEvent: function () {
$("#child1").addClass("displayObserver");
$("#child1").off("show", this.onParentShow);
$("#child1").on("show", this.onParentShow);
},
bindDisplayEvent: function () {
$("#child1").removeClass("displayObserver");
$("#child1").off("show", this.onParentShow);
},
আমি সাহায্য চান