1
여기에 index.html을의 작품이다. lvl1a에 대한FlightJs 이벤트 전파
function top() {
this.after('initialize', function() {
console.log('[DEBUG] Top initialized.');
this.on('broadcastEvent', function (e, data) {
console.log("[DEBUG] Broadcast recived: " + data.message);
});
this.trigger('broadcastEvent', {
message: "This is a broadcast message."
});
});
}
둘째 :
상위 요소의 하나
function lvl1a() {
this.after('initialize', function() {
console.log('[DEBUG] Lvl 1 a initialized.');
this.on('broadcastEvent', function (e, data) {
console.log("[DEBUG] Broadcast recived: " + data.message);
});
});
}
내 출력은 다음과 같습니다
[DEBUG] Top initialized.
[DEBUG] Broadcast recived: This is a broadcast message.
[DEBUG] Lvl 1 a initialized.
이벤트가 아이들에게 전파되지 않는 이유 노드? 어떻게해야합니까?
편집 : 나는 이러한 이벤트가 아래에서 위로 전파된다는 것을 알았습니다. 변경할 수 있습니까?
당신의 응답을 주셔서 감사하십시오. 기본 전파 스키마를 버블 링에서 캡처로 변경하는 방법이 있습니까? 그래서 모든 아이들에게 메시지를 방송하는 것입니까? –
이벤트 캡처는 이벤트 브로드 캐스트가 아닙니다. 어떤 컨테이너의 모든 요소에 대한 이벤트 핸들러를 호출하려면 다음과 같이 할 수 있습니다 : '$ (container) .find(). triggerHandler ("broadcastEvent");' 컨테이너의 자손 -'O (N)'연산. –