1. 程式人生 > >MUI自定義事件的兩種方法

MUI自定義事件的兩種方法

mui.fire

監聽自定義事件

	      	document.addEventListener('gohome',function(){

	      	})

觸發自定義事件

window.addEventListener('gohome',function(event){
  //通過event.detail可獲得傳遞過來的引數內容
  ....
});
evalJS
呼叫事件
// 二維碼掃描成功
function onmarked(type,result,file){
    switch(type){
    	case plus.barcode.QR:
    	type = "QR";
    	break;
    	case plus.barcode.EAN13:
    	type = "EAN13";
    	break;
    	case plus.barcode.EAN8:
    	type = "EAN8";
    	break;
    	default:
    	type = "其它"+type;
    	break;
    }
    result = result.replace(/\n/g, '');
    wo.evalJS("scaned('"+ type +"','"+ result +"','"+ file +"');");
    back();
}

事件
function scaned( t, r, f ) {
	var d = new Date();
	var h=d.getHours(),m=d.getMinutes(),s=d.getSeconds(),ms=d.getMilliseconds();
	if ( h < 10 ) { h='0'+h; }
	if ( m < 10 ) { m='0'+m; }
	if ( s < 10 ) { s='0'+s; }
	if ( ms < 10 ) { ms='00'+ms; } else if ( ms < 100 ) { ms='0'+ms; }
	var ts = '['+h+':'+m+':'+s+'.'+ms+']';
	
	var li=null,hl = document.getElementById("history");
	if ( blist.length > 0 ) {
		li = document.createElement("li");
		li.className = "ditem";
		hl.insertBefore( li, hl.childNodes[0] );
	} else {
		li = document.getElementById("nohistory");
	}
	li.id = blist.length;
	var html = '['+h+':'+m+':'+s+'.'+ms+']'+'  '+t+'碼<div class="hdata">';
	html += r;
	html += '</div>';
	li.innerHTML = html;
	li.setAttribute( "onclick", "selected(id);" );
	blist[blist.length] = {type:t,result:r,file:f};
	update( t, r, f );
}