use*_*281 5 javascript asp.net internet-explorer
我在Internet Explorer上遇到了一个奇怪的错误(目前版本为8,但与7有相同的问题).点击以下链接时:
<a href="#">Hello</a>
Run Code Online (Sandbox Code Playgroud)
无论如何,页面都完全重新加载.
但是这样的链接:
<a>Hello</a>
Run Code Online (Sandbox Code Playgroud)
将正常工作,而不是重新加载整个页面.
IE中是否存在某种可能导致此功能发生变化的设置?
信息:我已将安全设置设置为低,并已禁用所有插件以及"启用第三方插件 "选项.
任何建议都有帮助,谢谢.
编辑:这是我正在测试的
<a href="#" id="btnAddStuff" runat="server" onclick="displayAddStuff();" style="cursor:pointer;">
<asp:Literal ID="litAddStuff" runat="server" Text="Add Stuff" /></a>
Run Code Online (Sandbox Code Playgroud)
编辑#2:我已经用多个版本的IE测试了这个.干净的安装它可以正常工作.但是,在具有不同设置的随机用户计算机上进行测试会导致问题.
编辑#3:感谢您对如何使此代码更好的回复.虽然我很欣赏,但我的问题是,如果有人知道Internet Explorer中是否存在可配置的设置,这些设置会导致浏览器以不同的方式运行上述代码?
如果您了解一点 javasript 和/或 jQuery,您可以这样做:
$("a[rel='prevDefault']").on('click', function(event){
if($(this).attr("href").indexOf("#") > -1){
event.preventDefault();
}
});
Run Code Online (Sandbox Code Playgroud)
或者:
var anchorArray = document.getElementsByTagName("a"), I;
for(I=0;I<anchorArray.length;I++){
anchorArray[I].click = function(event){
if(anchorArray[I].href.indexOf("#") > -1){
event.preventDefault();
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1492 次 |
| 最近记录: |