由onclick调用的js函数内的window.location

时间:2012-09-25 14:00:38

标签: javascript

我有一个html文件 -

<a href="#abc" onclick="return somefunc()">Click</a>

Js档案

function somefunc() {
    if(somecondition) {
    //do domething
    }
    else {
         window.location='#xyz';
         return false;
    }

如果触发了其他条件,则会转到#xyz,然后再转回#abc。我希望在其他部分发生时重定向到#xyz

2 个答案:

答案 0 :(得分:0)

您不应该让它返回false,因为这将取消默认操作。您可能希望在“执行某事”区域中包含返回false。

答案 1 :(得分:0)

代码对我这样正常工作

<强> HTML

<input type="checkbox" id="cb" />
<a href="#abc" onclick="return somefunc()">Click</a>

<div class="filler"></div>
<div id="abc">ABC location</div>
<div class="filler"></div>
<div class="filler"></div>
<div class="filler"></div>
<div id="xyz">XYZ location</div>
<div class="filler"></div>
<div class="filler"></div>
<div class="filler"></div>

<强>的JavaScript

function somefunc () {

    var returnState = true;
    if (document.getElementById("cb").checked) {
         alert("here");   
    } else {
        window.location.hash = "#xyz";
        returnState = false;                
    }
    return returnState;

}​

运行示例

JSFiddle