2014-08-29 38 views
0

我知道有幾個相關的問題,但我想更清楚地問這個問題。我花時間在jsfiddle上覆制我的問題(鏈接在底部)。隱藏的內容和jquery 2點擊火

我有一個jQuery事件:

$(document).ready(function() { 
    $('.ui.contact.selection.dropdown').on("click", function() { 
     $(this).dropdown() 
     ; 
    }) 

}); 

下拉菜單位於一個模式,直到該div點擊它實際上不存在的裏面,有

$('.item.contact').on("click", function() { 
     $('.ui.modal') 
      .modal('show') 
      ; 
    }) 

的問題當我加載模式時,然後點擊下拉菜單,菜單在觸發前需要兩次點擊。我猜這是因爲下載不能在頁面加載。第一次點擊加載它,第二次點擊觸發它?我不確定但會很感激幫助!

請參閱jsfiddle

回答

2

嘗試將show選項,當您創建下拉:

$(this).dropdown('show', true) 

小提琴:http://jsfiddle.net/o8r0fzfg/8/

+0

你能解釋爲什麼我的代碼不起作用嗎?爲什麼這樣做? – Peege151 2014-08-29 19:29:50

+0

@ Peege151稍微看了一下之後,我覺得在創建模態時調用'dropdown()'會更清晰。這會初始化下拉菜單。點擊然後由模塊處理,而不是由您處理。看到這個小提琴:http://jsfiddle.net/o8r0fzfg/10/ – 2014-08-29 20:03:32

0

我嘗試下面的代碼和它的作品!

$(document).ready(function() {  
    $('.ui.contact.selection.dropdown').dropdown();  

    //CONTACT MODAL 
    $('.item.contact').on("click", function() { 
     $('.ui.modal').modal('show');  
    });  
}); 

我相信應該在預加載時觸發「下拉」。

0

縱觀documentation語義,似乎第一.dropdown將創建對象,並且第二個會導致觸發器觸發(默認情況下)。如果要將其設置爲切換操作,請嘗試以下操作:

$(document).ready(function() { 

    ... 

    $('.ui.contact.selection.dropdown').dropdown(); 
    $('.ui.contact.selection.dropdown').on("click", function() { 
     $(this).behavour("toggle"); 
    }); 
}); 

此事件將處理不僅打開,而且關閉。

JSFiddle