事件處理程式的引數與傳參

2021-10-06 17:01:23 字數 3319 閱讀 5692

先給個例子。

訪問事件物件

sayhi,事件物件eventwindow上,因此 通過window.event訪問。

btn.onclick = function(e){},事件處理函式的第乙個引數是事件物件。當然,也可以通過因此 通過window.event訪問事件物件。

想起 跨瀏覽器的事件處理程式 寫法。瞧,不論onclick在html裡還是js裡,getevent都能夠返回 事件物件。

="btn"

>bless<

/button>

var btn = document.

queryselector

(".btn");

var eventutil =

else

if(elm.attachevent)

else},

getevent:

function

(event)

} eventutil.

addhandler

(btn,

"click"

,function

(e))

<

/script>

<

/body>

向事件處理程式傳參

匿名函式 賦給 onclick

事件處理程式是乙個匿名函式,它的 第乙個引數 是 事件物件,只有這乙個引數。

sayhi<

/button>

var b = document.

queryselector

("button");

b.onclick

=function

(e)<

/script>

<

/body>

已宣告函式 賦給 onclick

事件處理程式 是 乙個 已宣告函式dosomething,它的第乙個引數 是 事件物件,只有這乙個引數。

sayhi<

/button>

var b = document.

queryselector

("button");

function

dosomething

(e) b.onclick = dosomething;

<

/body>

不論是將 匿名函式 還是 已宣告函式 賦給onclick事件處理程式是乙個函式,且只有乙個引數,那就是 事件物件。如果想向事件處理程式中傳入其他引數,最簡單直接的方式就是在 事件處理程式 中 通過呼叫其他函式,從而傳入額外引數。就像這樣。

sayhi<

/button>

function

dosomething

(message,e)

occured,and the message is $`

)}var button = document.

queryselector

("button");

button.

onclick

=function

(e)<

/script>

<

/body>

我們來研究乙個稍複雜點兒的,和this指向有關。

向 事件處理程式 傳入額外引數 有三種方式。

click me <

/button>

vartodo

=occured,and

$send a message:$`

);}}

var button = document.

queryselector

("button");

button.

onclick

=function

(e)<

/script>

click me <

/button>

vartodo

=occured,and

$send a message:$`

);}}

var button = document.

queryselector

("button");

button.onclick =

todo

.dosomething.

bind

(todo

,"nicholas"

)<

/script>

<

/body>

click me <

/button>

vartodo

=occured,and

$send a message:$`

);}}

function

bind

(fn,context)

}var button = document.

queryselector

("button");

button.onclick =

bind

(todo

.dosomething,

todo

,"nicholas");

<

/script>

<

/body>

小程式事件繫結 傳參 捕獲與冒泡

頁面中不需要傳參的事件 view bindtap click 我是事件 view view bind tap click 我是事件 view 需要傳參的事件 button bind tap click2 data name data age 18 id bt 我是按鈕 button js檔案 pag...

shell程式的傳參

呼叫shell程式時的傳參 我們都知道在c語言中系統可以通過main函式的argc和argv給它傳參。同樣shell程式本身也可以在呼叫時傳參給他。在shell程式內部使用傳參也是使用的一些特定符號來表示的,包括 katex parse error expected eof got at posit...

微信小程式 bindtap等事件傳參

事件是檢視層到邏輯層的通訊方式。事件可以將使用者的行為反饋到邏輯層進行處理。事件可以繫結在元件上,當達到觸發事件,就會執行邏輯層中對應的事件處理函式。事件物件可以攜帶額外資訊,如 id,dataset,touches。wxml taptest data hi wechat bindtap tapna...