我有一个超链接:
<a href="#" class="search">Search</a>
点击hyperlink
我会弹出,然后我会在 jqgrid
<的弹出式对话框中使用高级搜索按钮执行高级搜索/强>
点击高级搜索按钮后,它将调用控制器并返回网格。
我的button's
代码是:
<a id="searchResults" class="btn btn-primary">Advance Search</a>
我的jquery
是:
$('.search').on('click', function () {
search();
});
function search() {
$('#searchResults').unbind('click').on('click', function () {
searchClick();
});
}
当我在 Google Chrome 中使用它时,它运行正常。
但是,当我在 Internet Explorer(版本:9)中使用它时, $('.search').on('click',function(){..});
被多次调用和我的controller
抛出“会话超时”例外。最后,我将被重定向到登录页面。
实际上,它是在点击第一次点击事件时点击高级搜索获取网格结果。但是,如果它第二次调用,那么控制器throws
异常。
但我不知道为什么在 Internet Explorer 中为第二,第三,......时间调用事件$('.search').on('click',function(){..});
。
如何解决这个问题?
答案 0 :(得分:1)
请尝试
e.preventDefault()
答案 1 :(得分:0)
将.unbind(&#34;点击&#34;)替换为.off(&#34;点击&#34;)或.one(&#34;点击&#34;) < / p>
function search() {
$('#searchResults').off('click').on('click', function () {
searchClick();
});
}
答案 2 :(得分:0)
而不是e.stopPropagation(),我使用了e.preventDefault()并且工作正常。谢谢@Kushal Vora
我得到了解决方案,代码是:
$('.search').on('click', function (e) {
e.preventDefault();
search();
});