1. 程式人生 > 程式設計 >vue 點選其他區域關閉自定義div操作

vue 點選其他區域關閉自定義div操作

vue 點選其他區域關閉自定義div操作

方法一: 在外層div新增事件 @click="closeSel"

html

vue 點選其他區域關閉自定義div操作

method

 closeSel(event){
   var currentCli = document.getElementById("sellineName");
   if(currentCli ){
    if(!currentCli.contains(event.target)){   //點選到了id為sellineName以外的區域,隱藏下拉框
    this.listLineUl = false;
    }
   }
  }

方法二、element.addEventListener(event,function,useCapture)

mounted中

 document.addEventListener('click',e => { 
   if(!this.$el.contains(e.target)){
    this.listLineUl = false//點選其他區域關閉
   }else{
    this.listLineUl = true
   }
   })

注意此方法使用時 e和 $el 的範圍;

補充知識:vue 點選div,實現對input的全選,取消全選

不全選,開發中

下面講下全選和不全選,主要是通過操控checked屬性,根據布林值true和false、取反等操作來實現全選和全不選。

全不選效果:

vue 點選其他區域關閉自定義div操作

全選效果:

vue 點選其他區域關閉自定義div操作

全不選,複選框checkbox全部未選中,全選的div邊框和字色為黑色。

全選,複選框checkbox全部被選中,全選的div邊框和字色為紅色。

上程式碼

HTML程式碼

//通過input的checked的屬性,真為選中,假不選中,來控制input的選中與不選中
 
<input type="checkbox" :checked="isSelectAll"/>

 //點選時取反,來控制選中與不選中;註冊一個變數,預設為false,即不選中。
 //取反即是:點選,在選中的時候不選中本身和input,在不選中的時候選中本身和input.
 //isSelectAll控制input,alltool控制本身
 
<div class="books-8" :class="alltool ? 'books-8-2' :''" @click="alltool=!alltool,isSelectAll=!isSelectAll" >選中全部工具</div>

js程式碼

 data () {
  return {
   isSelectAll:false,alltoo:alltoo,'books-8-2':'books-8-2',}
 } 

css程式碼

 .books-8{
 width: 4rem;
 border: 0.05rem solid #2e2e2e;
 border-radius: 0.2rem;
}
.books-8-2{
 border-color:#f14338;
 color: #f14338;
}

完畢!

以上這篇vue 點選其他區域關閉自定義div操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。