2014-08-29 68 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