似乎在Firefox中打破了select2.js 3.4.6。首先是我的设置:
VS2013带有一个全新的空asp.net网站 Nuget select2版本3.4.6并将content \ css放在文件夹的根目录中。 jquery 1.7.2.min.js(我无法改变)我尝试使用最新版本的jquery以及2.1.3.min.js,但它仍然没有用。
以下是我的default.aspx:
的内容.....
<head runat="server">
<link href="select2.css" rel="stylesheet" />
<script src="scripts/jquery-1.7.2.min.js"></script>
<%--<script src="Scripts/jquery-2.1.3.min.js"></script>--%>
<script src="Scripts/select2.js"></script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList ID="testddl" runat="server">
<asp:ListItem Text="SELECT 0" Value="0"></asp:ListItem>
<asp:ListItem Text="SELECT 1" Value="1"></asp:ListItem>
<asp:ListItem Text="SELECT 2" Value="2"></asp:ListItem>
<asp:ListItem Text="SELECT 3" Value="3"></asp:ListItem>
</asp:DropDownList>
</form>
<script type="text/javascript">
$(document).ready(function () {
$('#<%= testddl.ClientID %>').select2();
});
</script>
</body>
在IE和Chrome中,当您点击下拉列表时,您可以获得所期望的搜索或点击选项。
在带有jquery 1.7.2的FireFox中,没有任何错误或任何事情发生。 使用jquery 2.1.3,单击事件将注册并显示搜索。在firebug控制台中,您会收到错误:
elem.dispatchEvent is not a function
其他人是否复制了这些内容或对select2和Firefox有所了解?
Kevin:这是使用jquery 1.7.2的viewsource
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><link href="select2.css" rel="stylesheet" />
<script src="jquery-1.7.2.min.js"></script>
<script src="Scripts/select2.js"></script>
<title>
</title></head>
<body>
<form method="post" action="Default.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="rzorPxUMAwO3Ap172UChrRo4HUD4DtvNTx+VojgNlTE4Z1WmG3D212ozs0UVxLT8Q50uK2YscIaU24HMNCX6c5MQGDfn61HSvool3WGTuKU=" />
</div>
<select name="testddl" id="testddl">
<option value="0">SELECT 0</option>
<option value="1">SELECT 1</option>
<option value="2">SELECT 2</option>
<option value="3">SELECT 3</option>
</select>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="CA0B0334" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="t9N12Ik6h7qTjLhTZkuIejUWEi90srmhi63V8Xxh5pkkbjq561Ko2F9PQuAmdKwKaoeu6f472sorebw82ieEjsj2IhbFITiMDWEoVejMoYSzIHNQlnDslXkhYImzMFQthR/syFIMC/KRkWmmML5c1zyVI+iICo/RNEMphVUXC8H2k7ppUV9WGf1v/Qtt4r5f" />
</div></form>
<script type="text/javascript">
$(document).ready(function () {
$('#testddl').select2();
});
</script>
<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Firefox","requestId":"b325ea7bc00946f380770a778efc9ccb"}
</script>
<script type="text/javascript" src="http://localhost:16589/250bbcfce1e348a18cc7ff513cc14ddf/browserLink" async="async"></script>
<!-- End Browser Link -->
</body>
</html>
更新
这显然不是jquery或select2问题。当我关闭我的firefox浏览器并从头重新打开它时,一切正常,但是当我点击F12打开firebug时,select2下拉停止工作!即使关闭萤火虫也不会重新启用下拉列表。我必须关闭所有的FF浏览器会话才能让它再次运行。
更新2 这与此处注释的FireQuery not Firebug启用时的问题直接相关: https://github.com/select2/select2/issues/2614