简体   繁体   中英

Stop javascript onclick 'page jumping'

Can't seem to prevent the jump to top of page behavior.

I've tried everything suggested here preventing onclick page jumps

What else could be done to stop onclick page jumps?

Thanks.

Here's a snippet of the HTML and JS

HTML:

<a href="javascript: return null;" onclick='javascript:getPosts("page=1&display=all"); return false;'>Everyone</a>


JS:

function getPosts(qry) {
    var thePage = 'posts.php?' + qry;
    myReq.open("GET", thePage, true);
    myReq.onreadystatechange = theHTTPResponse;
    myReq.send(null);
}

function theHTTPResponse() {
    if (myReq.readyState == 4) {
        if(myReq.status == 200){
            var response = myReq.responseText;
            document.getElementById('posts').innerHTML = response;
        }
    } else {
        document.getElementById('posts').innerHTML = '<img src="images/ajax-loader.gif" />';
    }
}

Returning false in the onclick is really the way to go. If that's not working for you, we need to see code.

As far as I know, the events are already JS so, you dont need to put onclick="javascript:..." . Try this:

<a href="javascript: return null;" onclick='getPosts("page=1&display=all"); return false;'>Everyone</a>

href="javascript:void(0);"

<a href="javascript:;" onclick="...">Everyone</a>

注意分号。

this is what i use and it works

<a href="javascript:getPosts('page=1&display=all'); return false;">Everyone</a>

When it comes to ajax requests using the function that is tied to the 'onClick' event as the href always solves the page jumping problem for me.

I've always used:

<a href=""></a>

Mostly because I hate that using

<a href="#"></a>

appends a # to the end of the url.

Edit:

Are you sure it isn't a browser specific problem or preference?

all you need is

<a href="javascript:">My Link!</a>

and add whatever other attributes you need to the tag.

Strangely, the problem was corrected after I deleted the contents of my php script, saved, then reinserted the same content. Not sure what effect this had but seems to fix the jumping.

I guess the issue was never with returning false in onclick.

Thanks for everyone's time!

href =“javascript:undefined”应该做的伎俩

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM