2015-11-17 99 views
1

當單擊引導程序3中的分段按鈕的插入符時,我無法捕獲單擊事件。我確信沒有事件被觸發,但是真的很想明白爲什麼。這真讓我抓狂。我已經在Firefox和Chrome上測試了這一點,但沒有奏效。我還沒有使用較早版本的Bootstrap進行測試。單擊分段按鈕的插入符號不會觸發單擊事件

小提琴:http://jsfiddle.net/40frLqyg/1/

HTML

<div class="form-group "> 
    <div class="input-group"> 
     <div class="input-group-btn ov-grp-div"> 
      <button tabindex="-1" class="ovtarget-btn btn btn-default" type="button"> 
       Action 
      </button> 
      <button tabindex="-1" data-toggle="dropdown" class="btn btn-default dropdown-toggle" type="button"> 
       <span class="caret"></span> 
      </button> 
      <ul class="dropdown-menu"> 
       <li class="ov"><a href="#"> Action-1</a></li> 
       <li class="ov"><a href="#"> Action-2</a></li> 
      </ul> 
     </div> 
     <input type="text" class="form-control" placeholder="Select Category"> 

    </div> 
</div> 

<div id="clickLogger"> 
</div> 

jQuery的

$(document).on("click", function(event) { 
    $("#clickLogger").append("Clicked<BR>"); 
}); 

感謝

+0

'$(document).on(「click」,「.caret」,function(event){'。檢查[** Demo **](http://jsfiddle.net/tusharj/40frLqyg/2/) – Tushar

+0

實際上,'$(document).on(「click」,「.caret」,function(event)'只是如果你點擊旁邊的圖標,dropbown就會出現而不會觸發事件 – Cory

回答

1

應用觸發下拉,而不是插入符:

$(document).on("click", ".dropdown-toggle", function(event) { 
    $("#clickLogger").append("Clicked<BR>"); 
}); 

如果在插入符,鼠標必須是正確的在頂部觸發它,但鼠標可能只是在一邊。Fiddle http://jsfiddle.net/40frLqyg/8/

+0

很好的答案。謝謝 – Alexander

0

您可以使用

$(document).on("click",`.caret` ,function(event) { 
    $("#clickLogger").append("Clicked<BR>"); 
}); 

Jsfiddle

$(document).on({ 
    click: function (event) { 
     $("#clickLogger").append("Clicked<BR>"); 
    } 
}, `.caret`); 

Jsfiddle

+0

非小提琴實際上工作! – Alexander

+0

@Alexander它可以工作,如果你點擊三角形形狀( '.caret')。 – Alex

+0

您可以將'.caret'改爲'.btn.dropdown-toggle'以支持更多空間。 – Alex

相關問題