點(diǎn)擊空白區(qū)域關(guān)閉彈出框

點(diǎn)擊區(qū)域外的空白處隱藏彈出框

最近在做一個(gè)搜索框,點(diǎn)擊圖標(biāo)可以顯示出搜索框,再次點(diǎn)擊可以顯示選中后的結(jié)果,但是點(diǎn)擊區(qū)域外的空白處也是可以收縮彈出框
大致的樣子就是這樣


navbar.png
shownavbar.png

在網(wǎng)上搜索的到以下的解決方案

  //點(diǎn)擊空白區(qū)域隱藏彈出框(全局)
            $(document).click(function(e){

                // 目標(biāo)區(qū)域,點(diǎn)擊某個(gè)彈出的區(qū)域
              var pop = $('#search-navbar');

                if(!pop.is(e.target) && pop.has(e.target).length === 0) {
                    //點(diǎn)擊外圍區(qū)域隱藏彈出框
                    self.isOpen = false;
                    $scope.$evalAsync();
                }else{
                    //點(diǎn)擊目標(biāo)區(qū)域不隱藏
                    self.isOpen = true;
                    $scope.$evalAsync();
                }
            });

w3c上這樣解釋is方法

is() 根據(jù)選擇器、元素或 jQuery 對(duì)象來(lái)檢測(cè)匹配元素集合,如果這些元素中至少有一個(gè)元素匹配給定的參數(shù),則返回 true。

if ( $target.is("li,span") ) {
    $target.css("background-color", "red");
  }

這段就是表示點(diǎn)擊的要素要么包括li,要么包括span,否則背景不變成紅色

w3c上這樣解釋has方法

has() 將匹配元素集合縮減為擁有匹配指定選擇器或 DOM 元素的后代的子集。
如果給定一個(gè)表示 DOM 元素集合的 jQuery 對(duì)象,.has() 方法用匹配元素的子集來(lái)構(gòu)造一個(gè)新的 jQuery 對(duì)象。所使用的選擇器用于檢測(cè)匹配元素的后代;如果任何后代元素匹配該選擇器,該元素將被包含在結(jié)果中。

$('li').has('ul').css('background-color', 'red');

這段只是表示,只有選定的li元素下有ul ,ul是li的后代元素才會(huì)使背景色變成紅色;

這段代碼也相對(duì)較好吧,可以試著使用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點(diǎn)的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點(diǎn)是DOM的常...
    凜0_0閱讀 1,511評(píng)論 0 8
  • 第一章 入門 基本功能:訪問(wèn)和操作 dom 元素,控制頁(yè)面樣式,對(duì)頁(yè)面的事件處理,與ajax完美結(jié)合,有豐富的插件...
    X_Arts閱讀 1,145評(píng)論 0 2
  • $(”p”).addClass(css中定義的樣式類型); 給某個(gè)元素添加樣式 $(”img”).attr({sr...
    專注寒冰三千歲閱讀 576評(píng)論 0 4
  • Attribute: $("p").addClass(css中定義的樣式類型); 給某個(gè)元素添加樣式 $("img...
    撲克臉_457e閱讀 661評(píng)論 0 1
  • 原文鏈接 http://blog.poetries.top/2016/10/20/review-jQuery 關(guān)注...
    前端進(jìn)階之旅閱讀 16,942評(píng)論 18 503

友情鏈接更多精彩內(nèi)容