W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
當(dāng)多個(gè)layer在同一屏顯示時(shí),可能會(huì)希望在layer1做某些操作后改變layer2中的內(nèi)容。但是layers之間獨(dú)立運(yùn)行在自己的沙箱內(nèi),無(wú)法修改其它layer的內(nèi)容。這時(shí)需要通過(guò)頁(yè)面間通信來(lái)使layer1通知layer2去改自己的內(nèi)容。
頁(yè)面間借助“自定義事件”通信,被通知方用Blend.ui.on監(jiān)聽(tīng)事件,通知方用Blend.ui.fire發(fā)送事件。
例子中共有兩個(gè)layer分上下同時(shí)顯示,id分別為0和subLayerId。layer-0中有一個(gè)輸入框和一個(gè)按鈕,layer-subLayerId有一個(gè)顯示框。點(diǎn)擊layer-0內(nèi)的按鈕將輸入框中的內(nèi)容顯示在layer-subLayerId上。
document.addEventListener("blendready", function () {
var main = Blend.ui;
console.log('blendready');
Blend.ui.layerInit("0", function (dom) {
var subLayers = [{id:'subLayerId',url:'item.html','active':true}];
new main.LayerGroup({
layers: subLayers,
left: 0,
top: 200
});
$('#notifyBtn',dom).on("click",function(e){
var msgContent = $('#input_msg').val();
Blend.ui.fire("sendMsg", "subLayerId",{content:msgContent});
});
});
Blend.ui.layerInit("subLayerId", function (dom) {
Blend.ui.on("sendMsg", function (e) {
$('#display_msg').val( e.data.content);
});
});
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: