2011-05-25 78 views
2

http://jsfiddle.net/nhmbA/jQuery代碼中的基本問題

在上面的鏈接中你會發現我的工作代碼。 的問題是,當你第一次點擊Select For按鈕,它會顯示一個列表,但你再次點擊同一按鈕,然後在列表中不應該是可見的,但它反之亦然。

我知道,這是應用於列表由於blur事件,但我也希望當它的外面點擊要隱藏的列表。

幫助我,如果你改變了上點擊功能

到..排序這個小問題

+0

爲什麼不使用[切換](http://api.jquery.com/toggle/)? – mplungjan 2011-05-25 09:02:39

+0

@mplungjan:肘節是在IE <9 ... – 2011-05-25 09:13:29

+0

認真車?我不知道。以什麼方式? – mplungjan 2011-05-25 09:42:43

回答

3

在你的代碼更改

$('.tglrOptns').blur(function(){ 
    $(this).css('display', 'none').siblings('.optnTglr:first').removeClass('seltd'); 
}); 

$('body').click(function(e){ 

    $('.tglrOptns').css('display', 'none') 
    .siblings('.optnTglr:first').removeClass('seltd'); 

}); 

並添加此

$('.tglrOptns').click(function(e){ 
e.stopPropagation(); 
}); 

Demo

+0

http://jsfiddle.net/nhmbA/6/ 我已經編輯您更新的代碼的html代碼有點.. 請參閱錯誤.. – 2011-05-25 09:07:22

0

喜: $( 'optnTglr ')生活(' 點擊',功能(E) {

這應該有助於

+0

這將是一樣的點擊也是其應用的點擊事件動態添加的元素......不是靜態 – 2011-05-25 08:59:31

0

我加了密切的標籤,在單擊它關閉的選項的div

+0

可以顯示一個例子或更新上面的一個? – 2011-05-25 09:00:25