国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
鑰匙要點(diǎn)
在本文的其餘部分中,我想調(diào)查對(duì)Vanilla JavaScript中Ajax API的改進(jìn)??梢栽赪3C上找到整個(gè)規(guī)範(fàn)。令我驚訝的是這個(gè)規(guī)範(fàn)。它不再是“ xmlhttprequest級(jí)別2”,而是“ xmlhttprequest級(jí)別1”,這是兩個(gè)規(guī)格之間2011年合併的結(jié)果。展望未來(lái),它將從標(biāo)準(zhǔn)的角度將其視為一個(gè)實(shí)體,而生活水平將被稱為XMLHTTPREQUEST。這表明社區(qū)有承諾堅(jiān)持一個(gè)標(biāo)準(zhǔn),這對(duì)於想要擺脫jQuery的開發(fā)人員而言,這只會(huì)意味著好消息。
html看起來(lái)不錯(cuò)又整潔。如您所見,所有的興奮都在JavaScript中發(fā)生。
這就是響應(yīng)的樣子:
如何使用vanilla javaScript?

var xhr = new xmlhttprequest(); xhr.open(“ get”,'https://api.example.com/data',true) xhr. onreadystatechange = function(){
if(xhr.readystate == 4 && xhr.status ===== 200)
console.log(json.parse(xhr.responseText));
}
xhr.send();
>

>我如何處理香草ajax中的錯(cuò)誤?可以使用XMLHTTPREQUEST對(duì)象的OnError事件處理程序完成

var xhr = new xmlhttpRequest();

xhr.open(“ get”,'https://api.example.com/data',true) 。失敗的“);

>是的,但是不建議這樣做,因?yàn)樗梢宰柚鼓_本的執(zhí)行並使您的網(wǎng)頁(yè)無(wú)反應(yīng)互動(dòng),但不建議這樣做。 。要提出同步請(qǐng)求,請(qǐng)將false作為第三個(gè)參數(shù)傳遞到打開的方法。
首頁(yè) web前端 js教程 沒(méi)有jQuery的香草·阿賈克斯的指南

沒(méi)有jQuery的香草·阿賈克斯的指南

Feb 19, 2025 am 11:58 AM

沒(méi)有jQuery的香草·阿賈克斯的指南

鑰匙要點(diǎn)

    ajax,用於異步JavaScript和XML的縮寫,允許部分頁(yè)面更新,減少了整頁(yè)刷新的需求,並啟用了更多流暢的用戶體驗(yàn)。 AJAX請(qǐng)求的基本解剖結(jié)構(gòu)涉及為HTTP請(qǐng)求創(chuàng)建所需類的實(shí)例,指定HTTP請(qǐng)求方法和頁(yè)面的URL並發(fā)送請(qǐng)求。
  • 雖然jQuery可以簡(jiǎn)化AJAX請(qǐng)求,但並非總是必要的。 Vanilla JavaScript中的Ajax API經(jīng)歷了重大改進(jìn),從標(biāo)準(zhǔn)角度來(lái)看,XMLHTTPreQuest規(guī)範(fàn)現(xiàn)在被視為一個(gè)單一實(shí)體,表明社區(qū)承諾堅(jiān)持一個(gè)標(biāo)準(zhǔn)。 Ajax是異步JavaScript和XML的簡(jiǎn)短,AJAX是一種進(jìn)行部分頁(yè)面更新的機(jī)制。它使您能夠使用來(lái)自服務(wù)器的數(shù)據(jù)更新頁(yè)面的部分,同時(shí)避免需要進(jìn)行完整的刷新。以這種方式進(jìn)行部分更新可以有效地創(chuàng)建流體用戶體驗(yàn),並且可以減少服務(wù)器上的負(fù)載。
  • 這是基本Ajax請(qǐng)求的解剖學(xué):
>在這裡,我們正在創(chuàng)建所需類的實(shí)例,以向服務(wù)器提出HTTP請(qǐng)求。然後,我們調(diào)用其開放方法,將HTTP請(qǐng)求方法指定為第一個(gè)參數(shù),以及我們要求的頁(yè)面的URL。最後,我們將其發(fā)送方法稱為NULL作為參數(shù)。如果在請(qǐng)求後(在這裡我們使用的是GET),則此參數(shù)應(yīng)包含我們要發(fā)送請(qǐng)求的任何數(shù)據(jù)。

>這就是我們處理服務(wù)器的響應(yīng)的方式:

>

var xhr = new XMLHttpRequest();
xhr.open('GET', 'send-ajax-data.php');
xhr.send(null);
> onreadystatechange是異步的,這意味著它隨時(shí)被調(diào)用。這些類型的功能是回調(diào) - 一旦處理完成後,它就會(huì)被調(diào)用。在這種情況下,處理器正在服務(wù)器上進(jìn)行。

>

對(duì)於那些希望更多地了解Ajax基礎(chǔ)知識(shí)的人,MDN網(wǎng)絡(luò)有一個(gè)很好的指南。

到j(luò)Query還是不jQuery?

> 因此,好消息是上述代碼將在所有最新的主要瀏覽器中起作用。壞消息是,它非常令人費(fèi)解。好!我已經(jīng)在尋找優(yōu)雅的解決方案。
xhr.onreadystatechange = function () {
  var DONE = 4; // readyState 4 means the request is done.
  var OK = 200; // status 200 is a successful return.
  if (xhr.readyState === DONE) {
    if (xhr.status === OK) {
      console.log(xhr.responseText); // 'This is the returned text.'
    } else {
      console.log('Error: ' + xhr.status); // An error occurred during the request.
    }
  }
};
>

使用jQuery,可以將整個(gè)片段濃縮為:>

這很好。確實(shí),對(duì)於包括您在內(nèi)的許多人來(lái)說(shuō),JQuery在Ajax方面已成為事實(shí)上的標(biāo)準(zhǔn)。但是,你知道嗎?不必是這樣。存在jQuery來(lái)繞過(guò)醜陋的DOM API。但是,真的是

醜陋的嗎?還是難以理解?

在本文的其餘部分中,我想調(diào)查對(duì)Vanilla JavaScript中Ajax API的改進(jìn)??梢栽赪3C上找到整個(gè)規(guī)範(fàn)。令我驚訝的是這個(gè)規(guī)範(fàn)。它不再是“ xmlhttprequest級(jí)別2”,而是“ xmlhttprequest級(jí)別1”,這是兩個(gè)規(guī)格之間2011年合併的結(jié)果。展望未來(lái),它將從標(biāo)準(zhǔn)的角度將其視為一個(gè)實(shí)體,而生活水平將被稱為XMLHTTPREQUEST。這表明社區(qū)有承諾堅(jiān)持一個(gè)標(biāo)準(zhǔn),這對(duì)於想要擺脫jQuery的開發(fā)人員而言,這只會(huì)意味著好消息。

>

所以讓我們開始吧……

>

>設(shè)置

在本文中,我在後端使用node.js。是的,瀏覽器和服務(wù)器上將有JavaScript。 Node.js後端很精美,我鼓勵(lì)您在Github上下載整個(gè)演示並跟隨。這是服務(wù)器上的肉和土豆:

>

這將檢查請(qǐng)求URL,以確定應(yīng)用程序應(yīng)如何響應(yīng)。如果請(qǐng)求來(lái)自腳本目錄,則將適當(dāng)?shù)奈募c應(yīng)用程序/JavaScript的內(nèi)容類型一起提供。否則,如果已將請(qǐng)求的X重新抽出標(biāo)題設(shè)置為XMLHTTPRequest,那麼我們知道我們正在處理AJAX請(qǐng)求,並且可以做出適當(dāng)?shù)捻憫?yīng)。如果沒(méi)有這樣的情況,則提供文件視圖/index.html。
var xhr = new XMLHttpRequest();
xhr.open('GET', 'send-ajax-data.php');
xhr.send(null);
>我將在我們潛入服務(wù)器中的AJAX響應(yīng)中,擴(kuò)展評(píng)論的部分。在node.js中,我不得不對(duì)渲染和httphandler進(jìn)行一些重彈性:

渲染函數(shù)異步讀取所請(qǐng)求的文件的內(nèi)容。它通過(guò)對(duì)HTTPhandler函數(shù)的引用,然後將其作為回調(diào)執(zhí)行。 httphandler函數(shù)檢查是否存在錯(cuò)誤對(duì)象(例如,如果無(wú)法打開所請(qǐng)求的文件)。提供一切都很好,然後使用適當(dāng)?shù)腍TTP狀態(tài)代碼和內(nèi)容類型為文件的內(nèi)容提供服務(wù)。

>
xhr.onreadystatechange = function () {
  var DONE = 4; // readyState 4 means the request is done.
  var OK = 200; // status 200 is a successful return.
  if (xhr.readyState === DONE) {
    if (xhr.status === OK) {
      console.log(xhr.responseText); // 'This is the returned text.'
    } else {
      console.log('Error: ' + xhr.status); // An error occurred during the request.
    }
  }
};
測(cè)試API

喜歡使用任何聲音後端API,讓我們編寫一些單元測(cè)試以確保其有效。對(duì)於這些測(cè)試,我正在呼籲Supertest和Mocha尋求幫助:>

這些確保我們的應(yīng)用程序以正確的內(nèi)容類型和HTTP狀態(tài)代碼響應(yīng)不同的請(qǐng)求。安裝了依賴項(xiàng)後,您可以使用NPM測(cè)試從命令中運(yùn)行這些測(cè)試。

接口
$.ajax({
  url: 'send-ajax-data.php',
})
.done(function(res) {
  console.log(res);
})
.fail(function(err) {
  console.log('Error: ' + err.status);
});

現(xiàn)在,讓我們看一下我們?cè)趆tml中構(gòu)建的用戶界面:

html看起來(lái)不錯(cuò)又整潔。如您所見,所有的興奮都在JavaScript中發(fā)生。

> >如果您瀏覽任何規(guī)範(fàn)的Ajax書,您可能會(huì)發(fā)現(xiàn)到處都有現(xiàn)有狀態(tài)。此回調(diào)功能帶有嵌套的IF和許多絨毛,這使得很難記住頭頂。讓我們將現(xiàn)有狀態(tài)和on載事件直接放在頭上。

>

var xhr = new XMLHttpRequest();
xhr.open('GET', 'send-ajax-data.php');
xhr.send(null);
這是控制臺(tái)中的輸出:

沒(méi)有jQuery的香草·阿賈克斯的指南 成功

時(shí),Onload事件才會(huì)發(fā)射。因此,Onload事件是您可以在幾秒鐘內(nèi)充分利用的現(xiàn)代API?,F(xiàn)有的事件將有向後兼容。但是,Onload事件應(yīng)該是您選擇的工具。 Onload事件看起來(lái)像是JQuery上的成功回調(diào),不是嗎? 是時(shí)候?qū)?磅的啞鈴放在一邊,然後移動(dòng)到手臂捲髮了。

>設(shè)置請(qǐng)求標(biāo)頭

jQuery設(shè)置封面下的請(qǐng)求標(biāo)頭,因此您的後端技術(shù)知道這是AJAX請(qǐng)求。通常,後端不在乎get請(qǐng)求只要發(fā)送適當(dāng)?shù)捻憫?yīng)即可到達(dá)何處。當(dāng)您想使用相同的Web API支持Ajax和HTML時(shí),這很方便。因此,讓我們看一下如何在Vanilla Ajax中設(shè)置請(qǐng)求標(biāo)題:>

>這樣,我們可以在Node.js中進(jìn)行檢查:

如您所見,Vanilla Ajax是靈活而現(xiàn)代的前端API。您可以使用請(qǐng)求標(biāo)題有很多想法,其中之一是版本化。因此,例如,假設(shè)我想支持此Web API的多個(gè)版本。這很有用,因?yàn)楫?dāng)我不想打破URL並提供一種機(jī)制,客戶可以選擇他們想要的版本。我們可以這樣設(shè)置請(qǐng)求標(biāo)頭:

xhr.onreadystatechange = function () {
  var DONE = 4; // readyState 4 means the request is done.
  var OK = 200; // status 200 is a successful return.
  if (xhr.readyState === DONE) {
    if (xhr.status === OK) {
      console.log(xhr.responseText); // 'This is the returned text.'
    } else {
      console.log('Error: ' + xhr.status); // An error occurred during the request.
    }
  }
};
在後端,請(qǐng)嘗試:

>

$.ajax({
  url: 'send-ajax-data.php',
})
.done(function(res) {
  console.log(res);
})
.fail(function(err) {
  console.log('Error: ' + err.status);
});
>我們?cè)诩抑?,沒(méi)有汗水!您可能想知道,關(guān)於Ajax還有什麼要知道的?好幾個(gè)整潔的技巧。

>

響應(yīng)類型
// app.js
var app = http.createServer(function (req, res) {
  if (req.url.indexOf('/scripts/') >= 0) {
    render(req.url.slice(1), 'application/javascript', httpHandler);
  } else if (req.headers['x-requested-with'] === 'XMLHttpRequest') {
    // Send Ajax response
  } else {
    render('views/index.html', 'text/html', httpHandler);
  }
});

>您可能想知道,當(dāng)我與之合作時(shí),為什麼ResponseText包含服務(wù)器響應(yīng),這就是普通的舊json。事實(shí)證明,這是因?yàn)槲覜](méi)有設(shè)置適當(dāng)?shù)闹匦露ㄐ汀4薃JAX屬性非常適合告訴前端API對(duì)服務(wù)器對(duì)期望的響應(yīng)類型。因此,讓我們充分利用它:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'send-ajax-data.php');
xhr.send(null);
很棒的,我可以告訴API的期望,而不必退回純文本,而不得不將其解析為JSON。幾乎所有最新的主要瀏覽器都可以使用此功能。當(dāng)然,jQuery會(huì)自動(dòng)進(jìn)行這種類型的轉(zhuǎn)換。但是,我們現(xiàn)在有一種方便的方式在普通的JavaScript中做同樣的事情,這不是很棒嗎? Vanilla Ajax對(duì)許多其他響應(yīng)類型都有支持,包括XML。 可悲的是,在Internet Explorer中,這個(gè)故事並不那麼出色。截至IE 11,該團(tuán)隊(duì)尚未增加對(duì)Xhr.ResponseType ='json'的支持。此功能將到達(dá)Microsoft Edge。但是,截至撰寫本文時(shí),該錯(cuò)誤已經(jīng)近兩年了。我的猜測(cè)是微軟的人們一直在努力改造瀏覽器。希望我們希望Microsoft Edge(又名Spartan項(xiàng)目)能兌現(xiàn)其承諾。

a,如果您必須解決這個(gè)問(wèn)題:

>

>緩存破壞

>人們傾向於忘記的一個(gè)瀏覽器功能是緩存AJAX請(qǐng)求的能力。例如,Internet Explorer默認(rèn)情況下會(huì)這樣做。我曾經(jīng)掙扎著幾個(gè)小時(shí),試圖弄清為什麼我的Ajax因此因此而無(wú)法工作。幸運(yùn)的是,JQuery默認(rèn)情況下會(huì)破壞瀏覽器緩存。好吧,您也可以在普通的ajax中,這很簡(jiǎn)單:
xhr.onreadystatechange = function () {
  var DONE = 4; // readyState 4 means the request is done.
  var OK = 200; // status 200 is a successful return.
  if (xhr.readyState === DONE) {
    if (xhr.status === OK) {
      console.log(xhr.responseText); // 'This is the returned text.'
    } else {
      console.log('Error: ' + xhr.status); // An error occurred during the request.
    }
  }
};
>

根據(jù)jQuery文檔,它所做的只是將時(shí)間戳查詢字符串附加到請(qǐng)求的末尾。這使請(qǐng)求有些獨(dú)特,並破壞了瀏覽器緩存。發(fā)射http ajax請(qǐng)求時(shí),您可以看到這是什麼樣子:

$.ajax({
  url: 'send-ajax-data.php',
})
.done(function(res) {
  console.log(res);
})
.fail(function(err) {
  console.log('Error: ' + err.status);
});
tada!一切都沒(méi)有戲劇。

結(jié)論

沒(méi)有jQuery的香草·阿賈克斯的指南>希望您喜歡300磅的臥推香草·阿賈克斯(Vanilla Ajax)。一段時(shí)間以來(lái),阿賈克斯是一個(gè)可怕的野獸,但不再是。實(shí)際上,我們涵蓋了Ajax的所有基礎(chǔ)知識(shí),而沒(méi)有拐杖,sha骨,jQuery。

我會(huì)以簡(jiǎn)潔的方式給您打電話:

>

這就是響應(yīng)的樣子:

別忘了,您可以在Github上找到整個(gè)演示。我歡迎您在評(píng)論中聽到和沒(méi)有jQuery的想法。
// app.js
var app = http.createServer(function (req, res) {
  if (req.url.indexOf('/scripts/') >= 0) {
    render(req.url.slice(1), 'application/javascript', httpHandler);
  } else if (req.headers['x-requested-with'] === 'XMLHttpRequest') {
    // Send Ajax response
  } else {
    render('views/index.html', 'text/html', httpHandler);
  }
});
>

在沒(méi)有jQuery

的香草ajax上的常見問(wèn)題(常見問(wèn)題解答) 沒(méi)有jQuery的香草·阿賈克斯的指南

vanilla ajax是指使用本機(jī)JavaScript創(chuàng)建異步的Web應(yīng)用程序,而無(wú)需依靠JQuery庫(kù)。儘管JQuery Ajax提供了一種簡(jiǎn)化的跨瀏覽器兼容方法來(lái)處理Ajax,但Vanilla Ajax可以使您對(duì)基礎(chǔ)過(guò)程有更多的控制和理解。如果您想減少諸如JQuery之類的外部庫(kù)的依賴關(guān)係。

>,這也是一個(gè)不錯(cuò)的選擇。

如何使用vanilla javaScript?

var xhr = new xmlhttprequest(); xhr.open(“ get”,'https://api.example.com/data',true) xhr. onreadystatechange = function(){
if(xhr.readystate == 4 && xhr.status ===== 200)
console.log(json.parse(xhr.responseText));
}
xhr.send();
>

>我如何處理香草ajax中的錯(cuò)誤?可以使用XMLHTTPREQUEST對(duì)象的OnError事件處理程序完成

var xhr = new xmlhttpRequest();

xhr.open(“ get”,'https://api.example.com/data',true) 。失敗的“);

};

xhr.send();
var xhr = new xmlhttprequest(); xhr.open(“ post”,'https://api.example.com/data',true) .setRequestheader(“ content-type”, “ application/json”);
xhr.send(json.stringify({key:“ value”}));

如何在Vanilla Javascript中取消AJAX請(qǐng)求? >您可以通過(guò)調(diào)用xmlhttprequest對(duì)象的中止方法來(lái)取消AJAX請(qǐng)求。這將立即終止請(qǐng)求。

>我可以使用vanilla javascript?

>是的,但是不建議這樣做,因?yàn)樗梢宰柚鼓_本的執(zhí)行並使您的網(wǎng)頁(yè)無(wú)反應(yīng)互動(dòng),但不建議這樣做。 。要提出同步請(qǐng)求,請(qǐng)將false作為第三個(gè)參數(shù)傳遞到打開的方法。

>

>如何監(jiān)視AJAX請(qǐng)求的進(jìn)度?

您可以使用AJAX請(qǐng)求的進(jìn)度來(lái)監(jiān)視AJAX請(qǐng)求的進(jìn)度XMLHTTPREQUEST對(duì)象的OnProgress事件處理程序。此事件是多次觸發(fā)的,提供了當(dāng)前的進(jìn)度信息。

>我可以與其他JavaScript庫(kù)或框架一起使用Vanilla Ajax? 。這是本機(jī)JavaScript功能,不依賴任何外部庫(kù)。

>所有現(xiàn)代瀏覽器都支持

以上是沒(méi)有jQuery的香草·阿賈克斯的指南的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語(yǔ)言,各自適用於不同的應(yīng)用場(chǎng)景。 Java用於大型企業(yè)和移動(dòng)應(yīng)用開發(fā),而JavaScript主要用於網(wǎng)頁(yè)開發(fā)。

JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

如何在JS中與日期和時(shí)間合作? 如何在JS中與日期和時(shí)間合作? Jul 01, 2025 am 01:27 AM

JavaScript中的日期和時(shí)間處理需注意以下幾點(diǎn):1.創(chuàng)建Date對(duì)像有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時(shí)間信息可用get和set方法,注意月份從0開始;3.手動(dòng)格式化日期需拼接字符串,也可使用第三方庫(kù);4.處理時(shí)區(qū)問(wèn)題建議使用支持時(shí)區(qū)的庫(kù),如Luxon。掌握這些要點(diǎn)能有效避免常見錯(cuò)誤。

為什麼要將標(biāo)籤放在的底部? 為什麼要將標(biāo)籤放在的底部? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript與Java:開發(fā)人員的全面比較 JavaScript與Java:開發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

JavaScript:探索用於高效編碼的數(shù)據(jù)類型 JavaScript:探索用於高效編碼的數(shù)據(jù)類型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

什麼是在DOM中冒泡和捕獲的事件? 什麼是在DOM中冒泡和捕獲的事件? Jul 02, 2025 am 01:19 AM

事件捕獲和冒泡是DOM中事件傳播的兩個(gè)階段,捕獲是從頂層向下到目標(biāo)元素,冒泡是從目標(biāo)元素向上傳播到頂層。 1.事件捕獲通過(guò)addEventListener的useCapture參數(shù)設(shè)為true實(shí)現(xiàn);2.事件冒泡是默認(rèn)行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委託,提高動(dòng)態(tài)內(nèi)容處理效率;5.捕獲可用於提前攔截事件,如日誌記錄或錯(cuò)誤處理。了解這兩個(gè)階段有助於精確控制JavaScript響應(yīng)用戶操作的時(shí)機(jī)和方式。

Java和JavaScript有什麼區(qū)別? Java和JavaScript有什麼區(qū)別? Jun 17, 2025 am 09:17 AM

Java和JavaScript是不同的編程語(yǔ)言。 1.Java是靜態(tài)類型、編譯型語(yǔ)言,適用於企業(yè)應(yīng)用和大型系統(tǒng)。 2.JavaScript是動(dòng)態(tài)類型、解釋型語(yǔ)言,主要用於網(wǎng)頁(yè)交互和前端開發(fā)。

See all articles