$(document).on("panelunload",'#mainPage',function(e){ alert('dddddd'); });
1.重写 data-load data-unload 事件;
在随便的js文件中添加一下的代码;
function dispatchPanelEvent(fnc,myPanel){ if (typeof fnc === "string" && window[fnc]) { return window[fnc](myPanel); } else if(fnc.indexOf(".")!==-1){ var scope=window,items=fnc.split("."),len=items.length,i=0; for(i;i<len-1;i++){ scope=scope[items[i]]; if(scope===undefined) return; } return scope[items[i]](myPanel); } } $(document).on("panelload",function(e){ var hasLoad=$(e.target).attr("data-load"); return dispatchPanelEvent(hasLoad,e.target); }) $(document).on("panelunload",function(e){ var hasLoad=$(e.target).attr("data-unload"); return dispatchPanelEvent(hasLoad,e.target); })
这样就可以在panel 的div中添加 data-load='test';
如下panel的
<div class="panel" id="plugins" data-title="plugins" data-unload='test' data-load='tests'>
其中
function test(){ alert('ddddd'); } function tests(){ alert('xxxxx'); }
2. data-tab="settings" 没有起作用;
<div class="panel" id="changetab" data-tab="settings"> changetab </div> <footer> <a href="#mainPage" class="icon home" data-transition="mainPage" id="settings">Main</a> <a href="#onePage" class="icon html5" data-transition="slide">onePage</a> <a href="#twoPage" class="icon trash" data-transition="up-reveal">twoPage</a> <a href="#threePage" class="icon trash" data-transition="up-reveal">threePage</a> </footer>
当跳转到changetab 这个panel时 footer 底部应该是id为settings这个高亮,但是却没有高亮;
通过修改af.ui.js里面的setActiveTab 函数;
setActiveTab:function(ele,view){ var hash; if(typeof(ele)!=="string") hash=$(ele).attr("data-tab"); view.find("footer").find("a").removeClass("pressed").attr("data-ignore-pressed","true").filter("[id='"+hash+"']").addClass("pressed"); // var hash; // if(typeof(ele)!=="string") // hash=$(ele).prop("id"); // hash="#"+hash; // view.find("footer").find("a").removeClass("pressed").attr("data-ignore-pressed","true").filter("[href='"+hash+"']").addClass("pressed"); },