亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

vue短文:如何在Vue.js中檢測(cè)在元素外的點(diǎn)擊?(vue判斷元素是否在視窗)

轉(zhuǎn)載說(shuō)明:原創(chuàng)不易,未經(jīng)授權(quán),謝絕任何形式的轉(zhuǎn)載

vue短文:如何在Vue.js中檢測(cè)在元素外的點(diǎn)擊?(vue判斷元素是否在視窗)

有時(shí)候,我們想要在Vue.js中檢測(cè)元素外的點(diǎn)擊。在本文中,我們將探討如何使用Vue.js檢測(cè)元素外的點(diǎn)擊。

使用Vue.js檢測(cè)元素外的點(diǎn)擊

我們可以通過(guò)創(chuàng)建自定義指令來(lái)檢測(cè)Vue.js中元素外的點(diǎn)擊。比如,我們可以這樣編寫(xiě):

<template> <!-- 創(chuàng)建一個(gè)寬度和高度為 500px 的 DIV,ID 為 "app" --> <div id="app" style="width: 500px; height: 500px"> <!-- 該 DIV 使用了自定義指令 v-click-outside,用來(lái)監(jiān)聽(tīng)點(diǎn)擊元素外部的事件 --> <div v-click-outside="onClickOutside">hello world</div> </div></template><script> // 導(dǎo)入 Vue 庫(kù) import Vue from "vue"; // 創(chuàng)建一個(gè)自定義指令 "click-outside" Vue.directive("click-outside", { // 當(dāng)指令綁定到元素時(shí),會(huì)立即調(diào)用 bind 函數(shù) bind(el, binding, vnode) { // 創(chuàng)建一個(gè)函數(shù)來(lái)處理點(diǎn)擊事件 el.clickOutsideEvent = (event) => { // 如果點(diǎn)擊的不是元素本身,也不是其內(nèi)部的任何元素,那么就觸發(fā)綁定的函數(shù) if (!(el === event.target || el.contains(event.target))) { // 在 Vue 實(shí)例上執(zhí)行綁定的函數(shù) vnode.context[binding.expression](event); } }; // 在 body 元素上添加 click 事件監(jiān)聽(tīng)器 document.body.addEventListener("click", el.clickOutsideEvent); }, // 當(dāng)指令與元素解除綁定時(shí),會(huì)立即調(diào)用 unbind 函數(shù) unbind(el) { // 移除在 body 元素上的 click 事件監(jiān)聽(tīng)器 document.body.removeEventListener("click", el.clickOutsideEvent); }, }); // 導(dǎo)出 Vue 實(shí)例 export default { name: "App", // 組件名 methods: { // 自定義一個(gè)方法來(lái)處理點(diǎn)擊元素外部的事件 onClickOutside() { console.log("clicked outside"); // 控制臺(tái)輸出信息 "clicked outside" }, }, };</script>

使用 Vue.directive 方法來(lái)添加自定義指令,該方法使用指令名稱(chēng)和一個(gè)對(duì)象作為參數(shù),該對(duì)象具有 bind 和 unbind 方法以在 bind 方法中添加 el 方法。

在 clickOutsideEvent 方法中,我們檢查 el 是否不是 event.target 并且它不包含 event.target。

如果都為 true,則添加 vnode.context[binding.expression](event); 來(lái)運(yùn)行我們?cè)O(shè)置為 v-click-outside 指令值的方法。

然后,我們調(diào)用 document.body.addEventListener 來(lái)添加一個(gè)點(diǎn)擊事件監(jiān)聽(tīng)器以運(yùn)行 clickOutsideEvent。

在 unbind 方法中,我們使用 removeEventListener 來(lái)刪除事件監(jiān)聽(tīng)器。

然后,在模板中,我們添加 v-click-outside 并將其值設(shè)置為 onClickOutside,以在單擊外部時(shí)運(yùn)行該方法。

當(dāng)我們單擊外部時(shí),應(yīng)該看到“clicked outside”被記錄。

結(jié)束

我們可以通過(guò)創(chuàng)建自定義指令來(lái)檢測(cè) Vue.js 中元素外的點(diǎn)擊。這段 Vue.js 代碼中的自定義指令 "v-click-outside" 主要用于處理點(diǎn)擊元素外部的事件。這種功能在很多應(yīng)用場(chǎng)景中都非常有用,以下是一些具體的示例:

  1. 下拉菜單(Dropdown)或模態(tài)窗口(Modal): 當(dāng)用戶(hù)點(diǎn)擊下拉菜單或模態(tài)窗口的外部區(qū)域,我們通常期望下拉菜單或模態(tài)窗口會(huì)關(guān)閉。這就需要檢測(cè)用戶(hù)是否點(diǎn)擊了元素的外部,如果是,那么就觸發(fā)一個(gè)函數(shù)來(lái)關(guān)閉下拉菜單或模態(tài)窗口。
  2. 上下文菜單(Context Menu): 在右鍵打開(kāi)的上下文菜單中,當(dāng)用戶(hù)點(diǎn)擊菜單外的其他地方時(shí),通常需要關(guān)閉這個(gè)菜單。同樣可以使用這個(gè)自定義指令來(lái)監(jiān)聽(tīng)點(diǎn)擊事件,并在點(diǎn)擊事件發(fā)生在菜單外部時(shí),關(guān)閉上下文菜單。
  3. 工具提示(Tooltip): 工具提示也有類(lèi)似的需求。當(dāng)工具提示展示時(shí),如果用戶(hù)點(diǎn)擊了工具提示以外的其他地方,我們通常希望工具提示會(huì)消失。
  4. 表單驗(yàn)證(Form Validation): 在某些場(chǎng)景下,你可能希望用戶(hù)在完成輸入并且點(diǎn)擊輸入框外部時(shí),進(jìn)行表單驗(yàn)證。你可以利用這個(gè)指令來(lái)實(shí)現(xiàn)這種效果。
  5. 搜索自動(dòng)完成(Search Autocomplete): 在搜索框輸入時(shí),會(huì)出現(xiàn)一個(gè)自動(dòng)完成的下拉菜單。當(dāng)用戶(hù)在選中某個(gè)搜索建議或者點(diǎn)擊搜索框以外的地方時(shí),我們通常需要關(guān)閉這個(gè)自動(dòng)完成的菜單。

在上述所有場(chǎng)景中,通過(guò) "v-click-outside" 這個(gè)自定義指令,你可以非常簡(jiǎn)單地處理點(diǎn)擊元素外部的事件,進(jìn)而實(shí)現(xiàn)你的交互需求。

由于文章內(nèi)容篇幅有限,今天的內(nèi)容就分享到這里,文章結(jié)尾,我想提醒您,文章的創(chuàng)作不易,如果您喜歡我的分享,請(qǐng)別忘了點(diǎn)贊和轉(zhuǎn)發(fā),讓更多有需要的人看到。同時(shí),如果您想獲取更多前端技術(shù)的知識(shí),歡迎關(guān)注我,您的支持將是我分享最大的動(dòng)力。我會(huì)持續(xù)輸出更多內(nèi)容,敬請(qǐng)期待。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年1月8日 下午3:13
下一篇 2024年1月8日 下午3:29

相關(guān)推薦

  • 信息系統(tǒng)項(xiàng)目管理零基礎(chǔ)

    信息系統(tǒng)項(xiàng)目管理零基礎(chǔ) 隨著信息技術(shù)的快速發(fā)展,信息系統(tǒng)項(xiàng)目管理已經(jīng)成為項(xiàng)目管理中的一個(gè)重要分支。對(duì)于零基礎(chǔ)的人來(lái)說(shuō),如何開(kāi)始信息系統(tǒng)項(xiàng)目管理是一個(gè)挑戰(zhàn)。本文將介紹信息系統(tǒng)項(xiàng)目管理…

    科研百科 2025年1月25日
    0
  • 共衛(wèi)生科研項(xiàng)目

    共衛(wèi)生科研項(xiàng)目 隨著全球衛(wèi)生問(wèn)題的不斷加劇,共衛(wèi)生科研項(xiàng)目已成為當(dāng)前國(guó)際社會(huì)關(guān)注的熱點(diǎn)之一。共衛(wèi)生科研項(xiàng)目旨在通過(guò)協(xié)作和合作,共同解決衛(wèi)生領(lǐng)域的問(wèn)題,提高全球衛(wèi)生水平。本文將介紹共…

    科研百科 2025年3月19日
    0
  • 如何做采購(gòu)項(xiàng)目管理

    如何做采購(gòu)項(xiàng)目管理 采購(gòu)項(xiàng)目管理是一個(gè)重要的商業(yè)活動(dòng),可以幫助企業(yè)有效地管理采購(gòu)過(guò)程,并確保供應(yīng)商提供的產(chǎn)品和服務(wù)符合其要求。以下是一些步驟和建議,可以幫助企業(yè)做好采購(gòu)項(xiàng)目管理。 …

    科研百科 3天前
    0
  • 測(cè)繪生產(chǎn)項(xiàng)目管理系統(tǒng)

    測(cè)繪生產(chǎn)項(xiàng)目管理系統(tǒng) 隨著測(cè)繪行業(yè)的不斷發(fā)展,測(cè)繪生產(chǎn)項(xiàng)目管理系統(tǒng)成為了必不可少的工具。它可以幫助測(cè)繪開(kāi)發(fā)人員更好地管理項(xiàng)目,提高生產(chǎn)效率,降低運(yùn)營(yíng)成本,同時(shí)保證項(xiàng)目的質(zhì)量和安全性…

    科研百科 2025年1月1日
    1
  • 學(xué)校科研項(xiàng)目支出

    學(xué)校科研項(xiàng)目支出: 推動(dòng)教育創(chuàng)新與進(jìn)步的力量 學(xué)校科研項(xiàng)目支出是一項(xiàng)非常重要的支出,它為學(xué)校提供了資金來(lái)支持科學(xué)研究和技術(shù)創(chuàng)新。在學(xué)校中,科研項(xiàng)目支出是一種重要的資源,可以推動(dòng)教育…

    科研百科 2025年2月8日
    1
  • 風(fēng)險(xiǎn)管理科研項(xiàng)目,個(gè)最重要但卻常被忽視的品質(zhì)(風(fēng)險(xiǎn)管理科學(xué))

    在職培訴可能是培養(yǎng)一個(gè)項(xiàng)目經(jīng)理的最重要的方面,這包括在工程、結(jié)構(gòu)管理以及項(xiàng)目管理中逐步增加職責(zé)。同時(shí),他也應(yīng)該在各個(gè)工程部門(mén)中進(jìn)行職務(wù)輪換,如結(jié)構(gòu)管理、采購(gòu)管理、成本管理、計(jì)劃編制…

    科研百科 2023年10月8日
    128
  • 2021低代碼市場(chǎng)

    2021年低代碼市場(chǎng)的發(fā)展趨勢(shì) 2021年,低代碼市場(chǎng)正迎來(lái)了一個(gè)新的發(fā)展階段。低代碼開(kāi)發(fā)平臺(tái)的興起,為企業(yè)提供了更加高效、靈活的應(yīng)用開(kāi)發(fā)解決方案。在這個(gè)快速變化的數(shù)字化時(shí)代,低代…

    科研百科 2024年2月28日
    69
  • 不懂流程,怎么做管理?全過(guò)程項(xiàng)目管理流程(干貨)(項(xiàng)目管理流程化)

    目 錄 一、 全過(guò)程管理總體要求 二、項(xiàng)目實(shí)施階段劃分 三、各階段工作內(nèi)容及流程 : (一)項(xiàng)目策劃階段 (二)工程前期階段 (三)設(shè)計(jì)階段 (四)招投標(biāo)階段 (五)工程施工階段 …

    科研百科 2023年10月27日
    104
  • 聯(lián)合辦公管理系統(tǒng)(聯(lián)合辦公管理)

    聯(lián)合辦公管理:實(shí)現(xiàn)辦公空間價(jià)值最大化 隨著聯(lián)合辦公市場(chǎng)的快速增長(zhǎng),如何管理好一個(gè)聯(lián)合辦公空間變得越來(lái)越重要。聯(lián)合辦公空間的管理不僅僅是簡(jiǎn)單的租賃和裝修,還包括人員管理、財(cái)務(wù)管理、設(shè)…

    科研百科 2024年8月31日
    21
  • 以黨建引領(lǐng)育人育才 擦亮光明高品質(zhì)教育品牌(黨建引領(lǐng)育人工程)

    近年來(lái),東周小學(xué)獲評(píng)全國(guó)青少年校園足球特色學(xué)校、廣東省青少年科學(xué)教育特色學(xué)校、廣東省中小學(xué)中華優(yōu)秀傳統(tǒng)文化傳承學(xué)校、深圳市教育工作先進(jìn)單位等40余項(xiàng)國(guó)家及省市級(jí)榮譽(yù)稱(chēng)號(hào),學(xué)生在科技…

    科研百科 2023年11月11日
    97