大家好我所遇到的一个奇怪的问题是网站和点击事件上的一些jquery。 在IE 9中,firefox和chrome这个工作正常。但IE 8不会触发click事件。
这是一个包含在更新面板中的asp.net webform。 ]
aspx代码
<asp:UpdatePanel ID="searchupdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="search" class="searchcontainer">
<asp:TextBox ID="tbsearchterm" CssClass="watermark" runat="server" />
<a href="#" class="button big left" id="btnSave">Save</a>
</div>
</ContentTemplate>
</asp:UpdatePanel>
在我的js文件中,我有以下代码包含在onPageLoad函数
中function pageLoad() {
...
//SimpleModal Save Dialog
$(function () {
$('#btnSave').click(function (e) {
var searchtrm = $('#tbsearchterm').val();
if (searchtrm == "Enter Search Term" || $.trim(searchtrm) === "") {
$('#alert-modal-content').modal({ overlayClose: false, close: false, containerId: 'alert-container' });
$('<b>Whoops!</b><br/><br/><span>Before you can save your search you need to enter a search term or query.</span>').appendTo('#alertTerm');
}
else {
$('#txt_ssQueryText').val(searchtrm);
$('#save-modal-content').modal({ appendTo: 'form', overlayClose: false, close: false, containerId: 'saveSearch-container' });
}
});
});
}
正如我所说,这在IE 9中运行良好,但是8和更低,并且从未触及点击事件(在调试器中验证)。我已经看到一些其他帖子建议使用.on()事件,但我已经通过使用没有运气的类选择器测试了这一点。
尝试了这个,但它不起作用(工作意味着该功能从未被调用过。
$(function () {
$('.btntestclass').on('click', 'a', function (e) {
var searchtrm = $('#tbsearchterm').val();
if (searchtrm == "Enter Search Term" || $.trim(searchtrm) === "") {
$('#alert-modal-content').modal({ overlayClose: false, close: false, containerId: 'alert-container' });
$('<b>Whoops!</b><br/><br/><span>Before you can save your search you need to enter a search term or query.</span>').appendTo('#alertTerm');
}
else {
$('#txt_ssQueryText').val(searchtrm);
$('#save-modal-content').modal({ appendTo: 'form', overlayClose: false, close: false, containerId: 'saveSearch-container' });
}
});
});
关于为什么这不是在8执行的任何建议?
提前致谢
答案 0 :(得分:0)
您可以尝试在Internet Explorer开发人员工具中设置jQuery单击功能。 也许在$(document).ready()。
之前调用页面Load()函数