2016-08-04 197 views
0

我想點擊按鈕(我用JS),那麼事件時,外如:如何禁用之外按鈕事件時,請單擊單擊按鈕javacript

$(document)點擊就會禁用。不同於當點擊外部按鈕然後事件點擊按鈕將被禁用:

<div class="form-group"> 
     <label>Default select</label> 
     <div id="test" class="btn-group bootstrap-select open" style="width: 200px"> 
      <button class="btn dropdown-toggle btn-default" type="button" title="Alaska" onclick="test()"> 
       <span class="filter-option pull-left">Alaska</span>&nbsp; 
       <span style="border: 0px !important;" class="caret"></span> 
      </button> 
      <div class="dropdown-menu open" style="max-height: 210.5px; overflow: hidden; min-height: 122px;"> 
       <ul class="dropdown-menu inner" style="max-height: 198.5px; overflow-y: auto; min-height: 110px;">      
        <li><table class="table table-hover"> 
         <thead> 
          <tr> 
           <th>#</th> 
           <th>First Name</th> 
           <th>Last Name</th> 
           <th>Username</th> 
          </tr> 
         </thead> 
         <tbody> 
          <tr> 
           <th scope="row">1</th> 
           <td>Mark</td> 
           <td>Otto</td> 
           <td>@mdo</td> 
          </tr> 
          <tr> 
           <th scope="row">2</th> 
           <td>Jacob</td> 
           <td>Thornton</td> 
           <td>@fat</td> 
          </tr> 
          <tr> 
           <th scope="row">3</th> 
           <td>Larry</td> 
           <td>the Bird</td> 
           <td>@twitter</td> 
          </tr> 
         </tbody> 
        </table></li> 
       </ul> 
      </div> 
     </div> 
    </div> 

當我點擊按鈕。

function test() { 
     let x = $("#test"); 
     x.children().eq(1).show(200); 
    } 

我想活動。

$(document).click(function (e) { 
     let x = $("#test"); 
     // x.children().eq(1).hide(200); 
    }); 

將被禁用。並相反

感謝支持

+1

後,你已經嘗試 –

+1

什麼是你的努力張貼代碼 – mean

+0

感謝代碼。我附上了我的代碼 –

回答

0

我找到了解決方案。感謝你的興趣 這裏我的代碼

$('body').bind('click', function (e) { 
     let x = $("#test"); 
     if ($(e.target).closest("#ndungs").length == 0) { 
      x.children().eq(1).hide(200); 
     } 
     e.preventDefault(); 
     return false; 
    }); 
    $("#test").children().eq(0).bind("click", function (e, el) { 
     //debugger; 
     let x = $("#test"); 
     x.children().eq(1).show(200); 
     e.preventDefault(); 
     return false; 
    });