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

vue中的addEventListener和removeEventListener用法說明

 更新時(shí)間:2022年06月29日 15:02:53   作者:淺笑如傷  
這篇文章主要介紹了vue中的addEventListener和removeEventListener用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

addEventListener和removeEventListener用法說明

1、添加監(jiān)聽事件(addEventListener)

語法:element.addEventListener(event, function, useCapture)

  • event:指定事件名(注意: 不要使用 "on" 前綴。 例如,使用 "click" ,而不是使用 "onclick")
  • function:指定要事件觸發(fā)時(shí)執(zhí)行的函數(shù)(事件對(duì)象會(huì)作為第一個(gè)參數(shù)傳入函數(shù))
  • useCapture:指定事件是否在捕獲或冒泡階段執(zhí)行,默認(rèn)false(true - 事件句柄在捕獲階段執(zhí)行,false-事件句柄在冒泡階段執(zhí)行)
mounted() {
? ? window.addEventListener("resize", this.setNavLeft);
},
methods: {
? ? listenerFunction(e) {
? ? ? document.addEventListener("scroll", this.handleScroll, true);
? ? },
}

2、移出監(jiān)聽事件(removeEventListener)

語法:element.removeEventListener(event, function, useCapture)

注意:在vue中銷毀事件監(jiān)聽,一定要在destroyed生命周期中執(zhí)行,在 beforeDestroy到destroyed之間,執(zhí)行組件事件拆卸,在beforeDestroy中執(zhí)行事件銷毀是成功不了的

destroyed() {
? ? document.removeEventListener("scroll", this.handleScroll, true);
? ? window.removeEventListener("resize", this.setNavLeft);
? },

使用addEventListener添加事件、removeEventListener移除事件

最近在項(xiàng)目中需要用到addEventListener監(jiān)聽滾動(dòng)條滾動(dòng)的高度,所以就研究了一下在vue中是怎么進(jìn)行事件監(jiān)聽的。

添加事件

給要添加事件的元素加上ref屬性

在mounted中添加事件

    mounted() {
      this.$refs.box.addEventListener('scroll',()=>{
        console.log('scroll',this.$refs.box.scrollTop)
      });
    }

這樣就添加成功了!

移除事件

如果要移除已添加的事件,removeEventListener中傳入的方法必須和addEventListener中傳入的是同一個(gè)方法才能成功移除,所以在添加時(shí)就不能用匿名函數(shù)啦。需改成如下寫法

    mounted() {
      this.$refs.box.addEventListener('scroll',this.scrollEvent);
    },
    methods:{
      scrollEvent(){
        console.log('scroll',this.$refs.box.scrollTop)
      }
    }

這里要注意 傳入的方法 this.scrollEvent 后面不能加括號(hào),否則無法成功添加

組件銷毀前移除事件

    beforeDestroy() {
      this.$refs.box.removeEventListener('scroll',this.scrollEvent);
    }

如果是keep-alive組件,可以用下面這種方式

? activated() {
? ? this.$refs.box.addEventListener('scroll', this.scrollEvent);
? },
? deactivated(){
? ? this.$refs.box.removeEventListener('scroll',this.scrollEvent);
? },

另外,addEventListener還可以給一個(gè)元素添加多個(gè)事件,并且不會(huì)覆蓋已存在的事件,這里就不多展開了~

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

高要市| 易门县| 赣州市| 德庆县| 分宜县| 靖边县| 新龙县| 当雄县| 临漳县| 海晏县| 仙居县| 梨树县| 武清区| 都江堰市| 富宁县| 平罗县| 长宁县| 高陵县| 辉县市| 许昌县| 平南县| 瑞安市| 达尔| 醴陵市| 北票市| 南充市| 永安市| 贺兰县| 牡丹江市| 精河县| 安化县| 祁门县| 渝中区| 南靖县| 琼海市| 鄂温| 胶南市| 晋宁县| 碌曲县| 眉山市| 牟定县|