contains 之 點擊元素外位置隱藏元素


contains 之 點擊元素外位置隱藏元素

api:

contains   檢測一個元素包含在另一個元素之內  詳解:http://www.runoob.com/jquery/misc-contains.html

原理:

監聽click事件,當點擊時判斷點擊位置是否包含在目標元素內,若判斷通過則隱藏

代碼:

// 創建click監聽
  mounted () {
    document.addEventListener('click', this.queryHide)
  },
// 清除click監聽
  beforeDestroy () {
    document.removeEventListener('click',this.queryHide)
  },
  methods: {
    queryHide (e) {
      if ((!this.$refs.queryBox.contains(e.target)) && (!this.$refs.queryDown.contains(e.target))) {
    /* 關閉元素 */
        this.show = false
      }
    }
  }

注意:

1.監聽需要清除,否則控制台會報錯,雖然不影響使用

2.一般判斷需要判斷需要關閉的元素和開啟這個元素的按鈕

3.ref替代了jquery和js的dom選擇,當不適用vue的時候可以直接使用dom選擇器完成以上操作

 

 

鑽研不已,轉載請注明出處。。。。。

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM