Blend.ui.on(event_type,callback);
參數(shù) | 類型 | 說(shuō)明 | 是否必須 |
---|---|---|---|
event_type | String | 事件名稱 | 是 |
callback | Function | 事件綁定的回調(diào)函數(shù)fuction(event): event['detail']為layer的id, event['data']為通過(guò)fire方法傳遞過(guò)來(lái)的數(shù)據(jù) | 是 |
可用的系統(tǒng)事件名稱
事件名稱 | 說(shuō)明 |
---|---|
layerCreateSuccess | layer創(chuàng)建成功 |
layerLoadFinish | layer頁(yè)面載入成功 |
layerPullDown | 下拉刷新loading |
layerPoped | layer返回事件 |
tap | slider點(diǎn)擊 |
slide | slider滑動(dòng)切換 |
menuPressed | 菜單建事件 |
layerGoBack | layer中返回鍵goBack回調(diào) |
backPressedBeforeExit | 返回鍵退出事件回調(diào) |
實(shí)例
document.addEventListener("blendready",function() {
var callbackA = function(e){
console.log(e['data']);
};
var callbackB = function(e){
console.log(e['detail']);
};
//注冊(cè)事件
//如果是自定義的消息類型,則需要自行觸發(fā)
Blend.ui.on("event",callbackA};
Blend.ui.on("event",callbackB};
Blend.ui.fire("event","false");
//如果為系統(tǒng)事件,可以由系統(tǒng)觸發(fā)
//如下為按下android返回鍵時(shí)的處理操作
Blend.ui.on("backPressedBeforeExit",function(){
console.log("back event");
});
});
Blend.ui.on(event_type,[callback]);
參數(shù) | 類型 | 說(shuō)明 | 是否必須 |
---|---|---|---|
event_type | String | 事件名稱 | 是 |
callback | Function | 要解綁的函數(shù),如果callback為空或"all",將會(huì)刪除所有與event_type綁定的回調(diào)函數(shù) | 否 |
實(shí)例
document.addEventListener("blendready",function(){
var callbackA = function(e){console.log(e)};
var callbackB = function(e){console.log(e)};
Blend.ui.on("event",callbackA};
Blend.ui.on("event",callbackB};
//解綁callbackA
Blend.ui.off("event",callbackA);
//解除與event相關(guān)的所有綁定
Blend.ui.off("event");
//Blend.ui.off("event","all");
});
Blend.ui.fire(type,targetId,message);
參數(shù) | 類型 | 說(shuō)明 | 是否必須 |
---|---|---|---|
event_type | String | 事件名稱 | 是 |
targetId | String | 發(fā)送目標(biāo)的layerId, 如果是false則是廣播,如果為“0”則表示向首頁(yè)發(fā)送(通常為index.html) | 是 |
message | Object/String | 發(fā)送的數(shù)據(jù)信息可以是字符串或者json數(shù)據(jù) | 否 |
實(shí)例
document.addEventListener("blendready",function(){
//自定義事件
var callback = function(e){console.log(e)};
Blend.ui.on("event",callback};
Blend.ui.fire("event","0",{"url":"http://www.baidu.com"});
});
Blend.ui.once(event_type, callback);
參數(shù) | 類型 | 說(shuō)明 | 是否必須 |
---|---|---|---|
event_type | String | 事件名稱 | 是 |
callback | Function | 事件綁定的回調(diào)函數(shù)fuction(event): event['detail']為layer的id, event['data']為通過(guò)fire方法傳遞過(guò)來(lái)的數(shù)據(jù) | 是 |
實(shí)例
document.addEventListener("blendready",function() {
var callback = function(e){console.log(e)};
//注冊(cè)事件
Blend.ui.once("event",callback};
//觸發(fā)一次事件
Blend.ui.fire("event","false");
//二次觸發(fā)無(wú)效,事件已注銷
//Blend.ui.fire("event","false");
});
Blend.ui.layerInit(layerId, callback);
參數(shù) | 類型 | 說(shuō)明 | 是否必須 |
---|---|---|---|
layerId | String | layer的id;當(dāng)layerId為"0"時(shí)表示首頁(yè)初始化后執(zhí)行callback函數(shù),其它頁(yè)面的id由用戶自行定義 | 是 |
callback | Function | 在相應(yīng)layer初始化后執(zhí)行的函數(shù) | 是 |
實(shí)例
document.addEventListener("blendready",function() {
//定義頁(yè)面id為test的layer初始化后執(zhí)行的callback
var callback = function(e){console.log("test layer ok")};
Blend.ui.layerInit("test", callback);
//創(chuàng)建layer并顯示
var layer = new Blend.ui.Layer({
"url":"content.html",
"id":"test",
"active":true
});
});
更多建議: