为什么location.href不自动跳转?慎用javascript:void(0)
<a href="javascript:void(0)" onclick="delete('123')">删除</a>
<script>
function delete(id) {
if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
location.href="/delete.jsp?id=" + id;
}
}
以上代码不管如何检查都没有任何问题,而location.href="/delete.jsp?id=" + id;在别的地方都好使,为什么这段代码就行呢?
原因是那个void(0),把代码改成:
<a href="javascript:delete('123')">删除</a>
<script>
function delete(id) {
if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
location.href="/delete.jsp?id=" + id;
}
}
我们发现,页面立即就跳转了,能正常删除相应的数据。
void是一个操作符,会计算一个表达式,但不会返回值,当然也不会改变当前页面的任何内容,也就不会正常的跳转。
"#"包含了一个位置信息默认的锚点是#top 也就是网页的上端而javascript:void(0)
仅仅表示一个死链接这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首而javascript:void(0)
则不是如此所以调用脚本的时候最好用void(0)或者<input onclick><div
onclick>等打开新窗口链接的几种办法1.window.open('url')2.用自定义函
数 <script>
function openWin(tag,obj)
{
obj.target="_blank";
obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
obj.click();
}
</script><a
href="javascript:void(0)"
onclick="openWin(3,this)">LINK_TEST</a>
window.location.href=""-------------------------------------------------------------------------------
如果是个# ,就会出现跳到顶部的情况,个人收藏的几种解决方法:
1:<a href="####"></a>
2:<a href="javascript:void(0)"></a>
3:<a href="javascript:void(null)"></a>
4:<a href="#" onclick="return false"></a>
5:<span
style="cursor:hand"></span>(好像在FF中不能显
示)-------------------------------------------------------------------------------
慎用JavaScript:void(0)今天调试CGI的时候,明明CGI程序已经执行,并且最后结果也是正确的,但是页面就是不刷新。在
FireFox2.0下测试,结果却是正常的,IE6却偏偏不刷新!仔细调查了一下,发现cgi页面链接的是 <a
href="javaScript:void(0)" OnClick="XXX_Func();" ….> only a sample
</a>,问题就出在这个void(0)上!让我们先来看看JavaScript中void(0)的含义:JavaScript中void是
一个操作符,该操作符指定要计算一个表达式但是不返回值。
void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression
expression
是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。我们可以使用 void
操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接
时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。<a
href="javascript:void(0)">单击此处什么也不会发生</a>也就是说,要执行某些处理,但是不整体刷新页面
的情况下,可以使用void(0),但是在需要对页面进行refresh的情况下,那就要仔细了。其实我们可以这样用<a
href="javascript:void(document.form.submit())">,这句话会进行一次submit操作。那什么情
况下用void(0)比较多呢,无刷新,当然是Ajax了,看一下Ajax的web页面的话,一般都会看到有很多的void(0),:) ,所以在使用
void(0)之前,最好先想一想,这个页面是否需要整体刷新。----------------------------------
分享到:
相关推荐
总结来说,解决location.href在IE6中不跳转的问题,除了考虑<a>标签的href属性值设置外,还需要注意在JavaScript函数中合理使用return语句。通过以上讨论,我们可以了解到在不同浏览器环境下进行页面跳转时,如何...
本文将深入探讨一个常见的问题,即`window.location.href`在IE下跳转失效的问题及其解决方案。 `window.location.href`是JavaScript中的一个属性,用于获取或设置当前页面的URL。当你将其赋值为新的URL时,浏览器...
public void onReceiveLocation(BDLocation location) { // map view 销毁后不在处理新接收的位置 if (location == null || mMapView == null) return; MyLocationData locData = new MyLocationData...
总的来说,理解`window.location.href`的工作原理以及如何正确地与`<a>`标签的`onclick`事件结合使用,是解决此类问题的关键。通过使用`javascript:void(0)`和控制`onclick`事件的行为,我们可以确保在各种情况下都...
<a href="javascript:void(0)" onclick="openWin(3, this)">株洲</a> function openWin(tag, obj) { obj.target = "_blank"; obj.href = "Web/Substation/Substation.aspx?stationno=" + tag; obj.click(); ...
众所周知,a标签的最... 这是常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且[removed]协议作为a的href属性的时候不仅会导致不必要的触发[removed]事件,在IE里面更会使gif动画图片停止播放。W3
public void onReceiveLocation(BDLocation location) { // 这里会接收到定位结果,包括经纬度、速度、方向等信息 double latitude = location.getLatitude(); double longitude = location.getLongitude(); //...
### "a href=javascript void(0)" 的含义与应用场景 在HTML中,`a`标签是用来创建超链接的,而`href`属性则定义了链接的目标地址。在实际开发过程中,有时我们会遇到`a href="javascript:void(0)"`这样的写法。本文...
在IE6中,如果`a`标签的`href`属性设置为`javascript:void(0)`或`javascript:`,`location.href`将无法正常跳转。这是因为`javascript:void(0)`阻止了页面的默认行为,导致页面无法通过`href`进行跳转。解决这个问题...
然而,对于IE6浏览器,`javascript:void(0)`可能会导致跳转问题。为了解决这个问题,可以在`onclick`事件中添加`return false;`来阻止默认行为。例如: ```html <a onclick="window.location.href='...
### `#`与`javascript:void(0)`的区别 在HTML中,`<a href="#">`和`<a href="javascript:void(0)">`这两个链接看起来很相似,但实际上存在重要的区别: - `#`表示页面内部的锚点,即指向页面内部的一个特定位置,...
虽然现代浏览器已经不再支持IE6,但是仍有一部分老旧系统或者特殊需求场景中需要支持IE6,因此了解如何解决IE6中a标签:hover属性失效的问题是有其必要性的。 要解决IE6中a标签:hover属性失效的问题,首先需要理解为...
如果使用a标签跳转到指定的div区域,则只需要把a标签的href属性设置为“#divId”就好了,比如: <a>跳转到div</a> 这里是被跳转的区域 第二个,使用jquery添加或者移除class属性 也很简单,使用jquery的方法...
### 空链接 `href="#"` 与 `href="javascript:void(0)"` 的区别 在Web开发中,我们经常会遇到两种类型的空链接:一种是使用 `href="#"`,另一种则是使用 `href="javascript:void(0)"`。这两种写法在实际应用中看...
当我们使用`javascript:void(0)`或`javascript:void null`作为超链接的`href`属性时,点击链接将不会有任何实际的导航发生。例如: ```html <a href="javascript:void(0)">不跳转链接</a> ``` 在这个例子中,点击...
本文将详细讨论在IE6中使用链接A标签(`<a>`)与JavaScript协议进行页面跳转时的一个常见问题,以及如何解决这个问题。 首先,我们经常使用链接A标签来模拟按钮,因为它带来了一些便利性,例如鼠标悬停时自动显示手...
var currentPage = document.location.href.toString(); currentPage = currentPage.substr(currentPage.lastIndexOf("/") + 1, currentPage.length); if (currentPage.length ) { objs[0].className = "active...
例如,在 AJAX 调用之前或之后执行某些逻辑处理时,可以通过设置 `<a>` 标签的 `href` 属性为 `javascript:void(0)` 来避免不必要的页面跳转或刷新。 #### 六、总结 - **`void(0)`** 主要用于执行某些处理,同时...
2. **a href="javascript:void(0);" onclick="js_method()"** 这是最推荐的一种方法。`onclick`事件负责执行JavaScript函数,`void(0)`返回`undefined`,防止页面跳转。这种方法不会像第一种那样将JS方法暴露在...