快應用 事件監聽與觸發

2022-08-16 10:51:09 字數 1519 閱讀 5099

一、快應用

1、快應用是基於手機硬體平台的新型應用形態,標準是由主流手機廠商組成的快應用聯盟聯合制定;

2、快應用標準的誕生將在研發介面、能力接入、開發者服務等層面建設標準平台,以平台化的生態模式對個人開發者和企業開發者全品類開放;

二、接下來只是整理了我認為重要的內容(加強記憶),具體內容請看官網;

1)事件監聽與觸發

a)    $on(evtname,fnhandler);

在當前頁面註冊監聽事件,可監聽$emit()、$dispatch()、$broadcast()等觸發的自定義事件,不能用於註冊元件節點的事件響應;

例如:this.$on('customevttype',this.customevttypehandler);

customevttypehandler(evt),引數:$`)

}b)  $off(evtname,fnhandler)

移除事件監聽,引數fnhandler為可選,傳遞僅移除指定的響應函式,不傳遞則移除此事件的所有監聽

c) $emit(evtname,evtdetail)

觸發當前例項監聽事件函式,與$on()配合使用;注意:$emit()目前只觸發$on 所監聽的事件;

this.$emit('customevttype',)

d)監聽原生元件事件

很多開發者希望能夠在事件**函式中,獲取到當前觸發事件的元件資訊並進行進一步操作,

1)在響應函式執行時通過target獲取,如:

onclickhandler(evt),詳情:$`);

if(evt.target),$`);}}

2)在響應函式繫結時傳遞引數,如:

onclickhandler2(arg1,arg2,evt),引數:$,$`);

e)除了使用者手動操作觸發事件,響應**之外,開發者開通在**中通過$emitelement()完成事件的動態觸發;

$emitelement(evtname,evtdetail,id)可以觸發指定元件id的事件,通過evt.detail獲取傳遞的引數;該方法對自定義元件無效;

例如:觸發元件節點中的事件:click

emitelement(),'enode');

f)使用原生元件的冒泡功能

我們在1040+版本對某些通用事件開放冒泡功能;

在未支援冒泡功能之前,開發者僅可以使用target屬性指向事件觸發的節點;

在已支援冒泡功能之後,開發者可以同時使用target與currenttarget,具體的指向與web規範保持一致;前者指向事件目標節點,後者指向事件觸發節點;

為了相容已經發布的快應用,以上更新,需要開發者在manifest.json中將minplatformversion設定為1040或以上,請開發者注意區別,做好向後相容;

常用事件的監聽

常用事件的監聽 swing事件模型中由三個分離的物件完成對事件的處理,分別為事件源 事件以及監聽程式。事件 實際上就是乙個 實現特定型別 介面 的類物件。具體的說,事件幾乎都已物件來表示,它是某種事件類的物件,事件源 如按鈕 會在使用者做出相應的動作 如按鈕被按下 時產生事件。動作事件 動作事件 a...

dom應用(事件)

事件的介紹 1.註冊事件 dom 0級的 onclick let but document.queryselector button but.onclick function 相同時間 繫結之後 只顯示最後乙個 繫結的事件 也就是說 之前的會被覆蓋 but.onclick function 1級 a...

運用事件監聽實現拖拽效果

var box document.queryselector box on box,mousedown function e box.style.left left px if top 0 box.style.top top px 限制右下角邊緣距離 var maxl window.innerwid...