最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript鼠標(biāo)拖動事件監(jiān)聽使用方法以及實(shí)例效果演示

 更新時間:2023年05月04日 10:50:57   作者:a辰龍a  
最近工作中遇到了鼠標(biāo)拖動事件監(jiān)聽的相關(guān)需求,所以下面這篇文章主要給大家介紹了關(guān)于JavaScript鼠標(biāo)拖動事件監(jiān)聽使用方法以及實(shí)例效果演示的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

首先鼠標(biāo)拖動事件需要與標(biāo)簽的draggable屬性配合使用,在標(biāo)簽中設(shè)置draggable屬性為true則表示允許拖動該元素

<body>
    <!-- 設(shè)置draggable為true -->
    <div draggable="true"></div>
</body>

drag事件

鼠標(biāo)拖動事件,當(dāng)元素被拖動時該事件會持續(xù)重復(fù)觸發(fā),可以用于實(shí)時定位鼠標(biāo)位置以讓某元素跟隨鼠標(biāo)

<body>
    <div draggable="true"></div>
</body>
</html>
<script>
    let div = document.querySelector("div");
    div.addEventListener("drag", (params) => {
        console.log("drag事件觸發(fā)");
    })
</script>

dragstart事件

當(dāng)拖動開始時觸發(fā)一次該事件,可以用于拖動前對元素進(jìn)行一些預(yù)處理

<body>
    <div draggable="true"></div>
</body>
</html>
<script>
    let div = document.querySelector("div");
    div.addEventListener("dragstart", (params) => {
        console.log("dragstart事件觸發(fā)");
    })
</script>

dragenter事件

當(dāng)正在拖拽元素的鼠標(biāo)進(jìn)入監(jiān)聽元素時觸發(fā)事件,需要注意的是此監(jiān)聽事件需要賦在被進(jìn)入的元素上,事件源event指向被進(jìn)入的元素,可以用于當(dāng)拖拽鼠標(biāo)位于某一元素時對該元素進(jìn)行一些改變

<body>
    <div style="background-color: blue;"></div>
    <div draggable="true"></div>
</body>
</html>
<script>
    let div = document.querySelector("div");
    div.addEventListener("dragenter", (e) => {
        console.log("dragenter事件觸發(fā)");
        e.target.style.backgroundColor = "green"
        console.log("顏色改變");
    })
</script>

dragleave 事件

與dragenter相反,當(dāng)鼠標(biāo)移出時觸發(fā)該事件

<body>
    <div style="background-color: blue;"></div>
    <div draggable="true"></div>
</body>
</html>
<script>
    let div = document.querySelector("div");
    div.addEventListener("dragleave", (e) => {
        console.log("dragleave事件觸發(fā)");
        e.target.style.backgroundColor = "green"
        console.log("顏色改變");
    })
</script>

dragover 事件

與drag事件類似,但是范圍限制在被監(jiān)聽元素中,當(dāng)拖拽鼠標(biāo)位于監(jiān)聽元素中時就會不斷觸發(fā)該事件,即使鼠標(biāo)不移動,可以用于在元素內(nèi)跟隨鼠標(biāo)

<body>
    <div style="background-color: blue;"></div>
    <div draggable="true"></div>
</body>
</html>
<script>
    let div = document.querySelector("div");
    div.addEventListener("dragover", () => {
        console.log("dragover事件觸發(fā)");
    })
</script>

drop事件

該事件需要配合dragover使用,在dragover事件中給event調(diào)用.preventDefault()方法,當(dāng)鼠標(biāo)在監(jiān)聽元素內(nèi)停止拖拽時就會觸發(fā)同樣監(jiān)聽該元素的drop事件

<body>
    <div style="background-color: blue;"></div>
    <div draggable="true"></div>
</body>
</html>
<script>
    let div = document.querySelector("div");
    div.addEventListener("dragover", (e) => {
        console.log("dragover事件觸發(fā)");
        e.preventDefault()
    })
    div.addEventListener("drop", () => {
        console.log("drop事件觸發(fā)");
    })
</script>

dragend事件

該事件需要監(jiān)聽被拖拽的元素,當(dāng)該元素的拖拽被取消時dragend事件被觸發(fā),與drop使用方法類似但作用的元素不同

<body>
    <div draggable="true"></div>
</body>
</html>
<script>
    let div = document.querySelector("div");
    div.addEventListener("dragend", () => {
        console.log("dragend事件觸發(fā)");
    })
</script>

總結(jié)

到此這篇關(guān)于JavaScript鼠標(biāo)拖動事件監(jiān)聽使用方法以及實(shí)例效果演示的文章就介紹到這了,更多相關(guān)js鼠標(biāo)拖動事件監(jiān)聽使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js中判斷Object、Array、Function等引用類型對象是否相等

    js中判斷Object、Array、Function等引用類型對象是否相等

    項(xiàng)目中有時會需要對引用類型進(jìn)行比較,如常見的object和array,我們知道,引用類型無法直接使用 == 或=== 取得期待結(jié)果,因此需要一個迭代的compare函數(shù)轉(zhuǎn)化成原始類型進(jìn)行比較
    2012-08-08
  • 微信小程序?qū)崿F(xiàn)搜索商品和歷史記錄的功能

    微信小程序?qū)崿F(xiàn)搜索商品和歷史記錄的功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)搜索商品和歷史記錄的功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 根據(jù)表格中的某一列進(jìn)行排序的javascript代碼

    根據(jù)表格中的某一列進(jìn)行排序的javascript代碼

    根據(jù)表格中的某一列進(jìn)行排序的實(shí)現(xiàn)方法有很多,下面為大家介紹下如何使用js來簡單實(shí)現(xiàn)下,需要的朋友不要錯過
    2013-11-11
  • 微信瀏覽器下拉黑邊解決方案 wScroollFix

    微信瀏覽器下拉黑邊解決方案 wScroollFix

    這篇文章主要介紹了微信瀏覽器下拉黑邊解決方案 wScroollFix,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • 很多人都是用下面的js刷新站IP和PV

    很多人都是用下面的js刷新站IP和PV

    有人用JS做網(wǎng)站跳轉(zhuǎn),也有人用很多其他作弊的方法,今天又發(fā)現(xiàn)有太多的人用這樣的方法實(shí)現(xiàn)兩個站的IP共享,把http://m.fzitv.net替換成自己的站
    2008-09-09
  • JSON.stringify實(shí)例詳解以及靈活運(yùn)用

    JSON.stringify實(shí)例詳解以及靈活運(yùn)用

    在向服務(wù)器發(fā)送數(shù)據(jù)時一般是字符串,我們可以使用?JSON.stringify()方法將JavaScript對象轉(zhuǎn)換為字符串,下面這篇文章主要給大家介紹了關(guān)于JSON.stringify及靈活運(yùn)用的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 淺析ES6與CommonJS中模塊的用法對比

    淺析ES6與CommonJS中模塊的用法對比

    ES6?的模塊化汲取了?CommonJS?和AMD?的優(yōu)點(diǎn),擁有簡潔的語法和異步的支持,并且寫法也和?CommonJS?非常的相似,下面我們就來看看二者用法的差異吧
    2023-09-09
  • 第一次接觸神奇的Bootstrap導(dǎo)航條

    第一次接觸神奇的Bootstrap導(dǎo)航條

    第一次接觸神奇的Bootstrap導(dǎo)航條,Bootstrap讓W(xué)eb開發(fā)更迅速、更簡單,感興趣的小伙伴們可以參考一下
    2016-08-08
  • AutoJs實(shí)現(xiàn)刷寶短視頻的思路詳解

    AutoJs實(shí)現(xiàn)刷寶短視頻的思路詳解

    這篇文章主要介紹了AutoJs實(shí)現(xiàn)刷寶短視頻的思路詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 原生js獲取元素樣式的簡單方法

    原生js獲取元素樣式的簡單方法

    下面小編就為大家?guī)硪黄鷍s獲取元素樣式的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08

最新評論

新津县| 弋阳县| 建宁县| 永胜县| 江孜县| 彰武县| 绥中县| 大同市| 黑龙江省| 兴义市| 恩平市| 隆回县| 长岛县| 绍兴县| 同德县| 浦县| 奉新县| 金溪县| 新竹市| 凤凰县| 宁海县| 都江堰市| 犍为县| 武陟县| 肃宁县| 普宁市| 禄劝| 资兴市| 邯郸市| 沾化县| 泸水县| 乌海市| 沐川县| 宽城| 五大连池市| 大同县| 宝山区| 微山县| 阳谷县| 眉山市| 景泰县|