判斷鼠標點擊在div外時,更改背景圖片


       學習起步時,本人試着在web端界面上仿照qq客戶端主菜單,做出了一個界面。

       當做到qq主菜單的搜索框時,發現點擊搜索框后,里面的背景圖片會消失,如下面2張圖所示:

       

                      點擊前                                                                      點擊后

 

      盡管類似這種判斷鼠標是否點擊在div外,以更改背景圖片的應用在web開發中並不多見,但是我們還是需要明白,應如何實現對鼠標是否點擊在div外的判斷。

      在這里,我采用了如下代碼:

$(document).click(function(e)             //e代表事件,在firefox中只能在事件現場使用window.event
{
      var target=$(e.target);                     //把觸發這次點擊事件對象拿出來,在本例中,即id為“sousuokuang”的div
      if(!target.is('#sousuokuang'))           //判斷出發點擊事件的對象名稱是否為"sousuokuang"
{
      //alert("hello!");    調試時用到的,可以忽略
      document.getElementById("sousuokuang").style.background= "url('sousuo.png') no-repeat -2px -7px";

                                                    //如果不是"sousuokuang",保持它的背景圖片不變
}
else
{
      document.getElementById("sousuokuang").style.background="white";

                                                   //如果是"sousuokuang",將它的背景色變為白色
}
});

下面是搜索框對應的html和css代碼:

    <html>  

           <head>
           <title>qq界面</title>
           <script src="jquery-3.1.0.min.js"></script>  //我從網上下載的jquery庫,由於上面的js代碼中用到了jquery語言,務必要把該庫加載進去
           <script src="qq.js"></script>

           <style> 

                #sousuokuang

               {
                     border: 0px;
                     height: 28px;
                     width: 277px;
                     background: url("sousuo.png") no-repeat -2px -7px;

           </style>

           <head>

           <body>

                   <input id="sousuokuang"  />

           </body>

   </html>

 

        當然,關於搜索框input的value值、以及由於背景圖片切換后文字顏色也應隨之更改等的細節部分,上文代碼中並未體現。為避免本文造成誤解,文章會隨時改進。


免責聲明!

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



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