DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> chrome下判斷點擊input上標簽還是其余標簽的實現方法
chrome下判斷點擊input上標簽還是其余標簽的實現方法
編輯:關於JavaScript     

想要實現的功能:當input框失焦且點擊的不是清除鍵時,執行reset方法重置input樣式,當點擊清除鍵時,執行clear方法,清除input內容。

如圖

本想通過如下代碼來實現

$(".search-input").focusout(function () {
          if (document.activeElement.className !== 'close-t') {//close-t為清除鍵類名
            $('.search-input').addClass('search-before');
            $('.close').css('display', 'none');
            
            document.getElementById('search').value = '';
          }
});

以外的發現,當inpu框失焦後,首先獲得焦點的,竟是body標簽,也因為這樣,該方法失效了,最後采用以下代碼來實現的該功能

$("#search").focusout(function () {
  //判斷失焦後是否點擊的是清除鈕,若是則不重置
  var tapCloseButton = false;
  $('.close-t').focus(function () {
    tapCloseButton = true;
  });
  setTimeout(function () {
    if (!tapCloseButton) {
      $('.search-input').addClass('search-before');
      $('.close').css('display', 'none');
      document.getElementById('search').value = '';
    }
  },10);
});

將焦點判斷這一步驟延遲執行,故此時焦點已經從body上移到了真正所點擊的元素上,此時再對焦點進行判斷,看是否為清除鍵。

以上這篇chrome下判斷點擊input上標簽還是其余標簽的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved