鼠标悬停时打开下拉列表

Open DropDownList when mouse over

本文关键字:下拉列表 悬停 鼠标      更新时间:2023-09-26

我在更新面板中有一个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?

请参阅您使用了.trigger(),并且您必须在代码中指定要触发的点击,因为它不在那里,所以不会执行触发器。

注:

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

它的意思是:

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

根据文档:

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

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

refer This Fiddel It will Help you To understand:http://jsfiddle.net/AndreasPizsa/NzvKC/:-)