鼠标悬停时打开DropDownList

时间:2013-11-19 06:36:43

标签: javascript jquery asp.net

我在updatepanel中有一个DropDownList,并将其绑定在后面的代码中。

 <span id="dropdown" class='css-select-moz groupTitle' style="margin-right: 880px; padding-top: 0; margin-top: 0px; background: transparent">
                                <asp:DropDownList ID="SubCategoryDropDownList" AutoPostBack="true" OnSelectedIndexChanged="SubCategoryDropDownList_SelectedIndexChanged" runat="server" CssClass="css-select"></asp:DropDownList>
                            </span>

和风格

 .css-select {
-moz-appearance: window;
background-position: left bottom;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 2px;
border: none;
-moz-appearance: none;
text-indent: 0.01px;
text-overflow: ellipsis;
background: transparent;
color: #FF8000;
}

我希望在鼠标悬停时打开DropDown,我使用这个脚本

$(document).ready(function(){
$("#SubCategoryDropDownList").hover(function(){
$(this).trigger('click');
 });
})

但是不要打开项目,如何在鼠标悬停时打开DropDownList?

3 个答案:

答案 0 :(得分:0)

看到你使用了.trigger(),你必须在代码中指定要触发的点击,因为它不在那里,触发器不会被执行。

注意:

  

执行附加到给定事件类型的匹配元素的所有处理程序和行为。

这意味着:

$("#foo").on( "click", function() { //<--the given event type "click"
   alert('clicked');
});
$("#foo").trigger("click"); // <---triggering the same event type "click"

来自文档:

  

当相应的事件发生时,会触发附加.on()或其快捷方法之一的任何事件处理程序。但是,可以使用.trigger()方法手动触发它们。对.trigger()的调用以与用户自然触发事件时相同的顺序执行处理程序:

答案 1 :(得分:0)

Hiral回答应该做什么但是请记住它是一个完全客户端处理的功能,你应该删除AutoPostback="True"或利用某种AJAX来做到这一点。触发选项的单击事件时,会发生 PostBack 。现在的问题是响应中的选项框仍然关闭,因此您不会注意到客户端脚本的效果。

答案 2 :(得分:0)

参考此Fiddel它会帮助您理解:http://jsfiddle.net/AndreasPizsa/NzvKC/ : - )