Glenns 아이디어를 기반으로 Catalint에서 hide / show 이벤트 트리거를 변경했습니다. 내 문제는 모듈 식 응용 프로그램이 있다는 것입니다. div 부모를 표시하거나 숨기는 모듈 사이를 변경합니다. 그런 다음 모듈을 숨기고 다른 모듈을 표시하면 모듈 간을 변경할 때 눈에 띄는 지연이 있습니다. 나는 때때로이 사건과 일부 특별한 어린이들에게만 불을 지피기 만하면됩니다. 그래서 나는 "displayObserver"클래스를 가진 아이들에게만 알리기로 결정했습니다.
$.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;
}
});
그런 다음 아이가 "show"또는 "hide"이벤트를 듣고 자 할 때 클래스 "displayObserver"를 추가해야합니다. 계속 듣고 싶지 않으면 클래스를 제거합니다.
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);
},
도와주세요