js事件on動態繫結資料,繫結多個事件

2021-07-25 00:06:48 字數 1303 閱讀 7627

一.on('clcik')與$('').clcik()方法的區別:

on('clcik'):事件委託機制

// 在body元素上繫結click事件處理函式handler,如果這個click事件是由其後代的p元素觸發的,就執行handler

$(document.body).on("click", "p", handler);

事件委託機制就是,我們不為每個p元素直接繫結click事件處理函式,而是委託給其某個公共的祖輩元素(此處示例中為document.body),"告訴"他:如果接收到了click事件觸發通知,並且這個click事件是由我們這些p元素其中之一觸發的,就執行祖輩元素上委託繫結的事件處理函式。

注意:"focus"、"blur"等部分事件不支援冒泡,使用事件委託機制將無效。不過,他們一般也有對應的支援冒泡的事件。例如與"focus"對應的"focusin",與"blur"對應的"focusout"。此外,我們也可以使用event.stoppropagation()方法,讓當前觸發的事件停止冒泡。

1.繫結多個事件,用空格隔開事件和命名空間如:「click」或「keydown.myplugin」。或者格式為

on(,

mouseover: function(){}

})命名空間: namespace 名字

2.可以給動態元素和屬性繫結事件

clcik()不能為頁面動態載入元素新增事件,事件只能為clcik

二:on()的引數

$().on(events,[seletor],[data],fn)或events-map,[seletor],[data]

events:乙個或多個用空格分隔的事件型別和可選的命名空間

events-map

:個用字串表示的,乙個或多個空格分隔的事件型別和可選的命名空間,值表示事件繫結的處理函式。

seletor:乙個選擇器字串用於過濾器的觸發事件的選擇器元素的後代。如果選擇的< null或省略,當它到達選定的元素,事件總是觸發。

(也就是觸發事件元素)

data:當乙個事件被觸發時要傳遞event.data給事件處理函式。

fn:該事件被觸發時執行的函式。如果事件處理函式handler僅僅只為返回false值,可以直接將handler設為false。false 值也可以做乙個函式的簡寫,返回false。

如果要取消預設事件直接加false

$("form").on("submit", false)

map:規定事件對映 (),包含要新增到元素的乙個或多個事件,以及當事件發生時執行的函式

三:onclick,click,on()的優先關係:onclick>click>on();

js動態繫結事件

在頁面中使用動態繫結事件,我們很容易就想到了onpropertychange oninput和onchange。首先說下這三個區別。onchange 當前屬性值發生改變,並且有滑鼠或者鍵盤觸發,並失去焦點。onpropertychange 屬性值發生改變。但是他是ie專屬事件,並在ie9開始棄用,i...

HighChat動態繫結資料 資料後台繫結(三)

今天看了幾位大佬的部落格,學到了一些,現在分享一下,也作為以後的參考 不多說看 1.後台 public actionresult ajax2 reportdata.categories key double?value double?value1 reportitem ri1 new reporti...

Mobiscroll控制項動態繫結資料

用mobiscroll 可實現ios系統自帶的選擇器控制項效果,支援幾乎所有的移動平台 ios,android,blackberry,windows phone 8,amazon kindle 當然在pc的瀏覽器上跑,效果也還不錯。mobiscroll控制項動態繫結資料 這裡以乙個動態繫結城市選擇框...