Tengeneza wa Kusoma Matukio ya JavaScript HTML DOM

addEventListener() method

实例

Ongeza kikosi cha tukio cha kufikia kwa kichukua bili:

document.getElementById("myBtn").addEventListener("click", displayDate);

亲自试一试

addEventListener() Method ya kuingiza vifaa vya kufanya kazi kwa kipimo chake kwa kipimo chake kwanza.

addEventListener() Method ya kuingiza vifaa vya kufanya kazi kwa kipimo chake bila kufuata vifaa vingine vya kufanya kazi vya zamani.

Inaweza kuongeza vifaa vingine vya kufanya kazi kwa kipimo chake.

您能够向一个元素添加多个相同类型的事件处理程序,例如两个 "click" 事件。

您能够向任何 DOM 对象添加事件处理程序而非仅仅 HTML 元素,例如 window 对象。

addEventListener() 方法使我们更容易控制事件如何对冒泡作出反应。

Kwa kusimama kwa addEventListener() Mawakili wakati wa kutumia, JavaScript na HTML ya kipengele kinachotenganishwa, kwa sababu inaonesha kuelewa zaidi; inafaa kuingiza mtunzi wa kufikia kwa kipengele bila kusimama kwa HTML ya kipengele.

Inaweza kutumia removeEventListener() Inafaa kumaliza mtunzi wa kufikia kwa kwa kujua kufikia kwa kujua.

Mawakili

element.addEventListener(event, function, useCapture);

Para ya kwanza ni aina ya matukio (kama "click" au "mousedown").

Para ya pili ni funguza inayotumika kwa kila hatua ya matukio.

Para nyingine ni thamani ya Boole, inaeleza kama tunataka kutumia uharibifu wa matukio kwa kuzingatia au kutaka kumaliza kwa kuzingatia. Kiparama hiki ni inayotambuliwa.

Tafadhali:Hatarini kuitumia neno la kuzingatia "on" kwa matukio; tumia "click" ikisitambua "onclick".

Kuingiza mtunzi wa kufikia kwa kipengele

实例

Kutangaza "Hello World!" kwa kila mtu anafikia kipengele:

element.addEventListener("click", function(){ alert("Hello World!"); });

亲自试一试

Inaweza kutumia funguza nje ya "mingwa":

实例

Kutangaza "Hello World!" kwa kila mtu anafikia kipengele:

element.addEventListener("click", myFunction);
function myFunction() {
    alert ("Hello World!");
}

亲自试一试

Kuingiza mtunzi wa kufikia kwa kipengele huo kwa matukio mbalimbali

addEventListener() Inafaa kuingiza mtunzi wa kufikia kwa kipengele huo kwa matukio mbalimbali, bila kumchuka matukio ya awali:

实例

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);

亲自试一试

Inaweza kuingiza mtunzi wa kufikia kwa kipengele huo kwa aina mbalimbali za matukio:

实例

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);

亲自试一试

Kuingiza mtunzi wa kufikia kwa Kipengele cha Window

addEventListener() Inafaa kuingiza mtunzi wa kufikia kwa kila kipengele cha HTML DOM, kama kipengele cha HTML, kipengele cha HTML au ufukia kwa kila kipengele kinachosimama kwa matukio, kama kipengele cha xmlHttpRequest.

实例

Kuingiza mtunzi wa kufikia kubadilika ukubwa wa ufukia:

window.addEventListener("resize", function(){
    document.getElementById("demo").innerHTML = sometext;
});

亲自试一试

Thamani

Kama una kushikilia thamani, tumia chaji cha thamani kuwa na maelezo wa kufanyika kwa maelezo wa kufanyika wa kifaa:

实例

element.addEventListener("click", function(){ myFunction(p1, p2); });

亲自试一试

Kushambulia ya matukio ni kushambulia ama kufaisha?

Kwenye HTML DOM, kuna hatua mbili za kushambulia ya matukio: kushambulia na kufaisha.

Kushambulia ya matukio ni hatua ya kufafanua ukweli wa eneo la kina wakati ya kifo cha matukio. Kama <div> ina <p>, na mtu anapita kufanya click kwa elementi ya <p>, ambaye ena kufanyika kwanza kwa hatua ya click ya elementi gani?

Kwenye kushambulia, eneo la kina linaweza kufanyika kwanza, na kisha eneo la kina: Kwanza kufanyika kwa matukio ya click ya elementi ya <p>, kisha ya elementi ya <div>.

Kwenye kufaisha, eneo la kina la kina linaweza kufanyika kwanza, na kisha eneo la kina: Kwanza kufanyika kwa matukio ya click ya elementi ya <div>, kisha ya elementi ya <p>.

Kwenye method ya addEventListener(), inaweza kutumia chaji cha "useCapture" kuweka hatua ya kushambulia:

addEventListener(event, function, useCapture);

Chaguo cha kuzingatia ni falseinaendelea kwa sababu ya kushambulia kwenye trueinakusababisha uharibifu wa matukio kutoka kwenye

实例

document.getElementById("myP").addEventListener("click", myFunction(), true);
document.getElementById("myDiv").addEventListener("click", myFunction(), true);

亲自试一试

removeEventListener() method

removeEventListener() Mwendo huyo atakata kwa sababu ya addEventListener() Mfano wa programu ya matukio ya kifaa:

实例

element.removeEventListener("mousemove", myFunction());

亲自试一试

Mawasiliano ya kibarabara

Inanwa za tabia inasema vesion vya kibarabara kwa kuzikubali kufanya hizi mitambo.

Mwendo
addEventListener() 1.0 9.0 1.0 1.0 7.0
removeEventListener() 1.0 9.0 1.0 1.0 7.0

Tahidi:IE 8, Opera 6.0 na vesion vya awali hawakubali addEventListener() na removeEventListener() Mwendo. Kama, kwa vesion vya kibarabara kama hizo, inaweza kutumia attachEvent() 方法向元素添加事件处理程序,并由 detachEvent() 方法删除:

element.attachEvent(event, function);
element.detachEvent(event, function);

实例

跨浏览器解决方案:

var x = document.getElementById("myBtn");
if (x.addEventListener) {                    // 针对主流浏览器,除了 IE 8 及更正版本
    x.addEventListener("click", myFunction);
} else if (x.attachEvent) {                  // 针对 IE 8 及更早版本
    x.attachEvent("onclick", myFunction);
} 

亲自试一试

HTML DOM Event 对象参考手册

如需所有 HTML DOM 事件的列表,请访问我们完整的 HTML DOM Event 对象参考手册