0

我有一个 html 文件-

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

js文件——

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

如果触发了 else 条件,它会带我到#xyz然后再回到#abc. 我想重定向到#xyz其他部分发生时。

4

2 回答 2

0

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

于 2012-09-25T14:02:26.463 回答
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

于 2012-09-25T14:17:47.523 回答