Trigger click on URL with hashtag

2019-05-21 12:24发布

Can you trigger click on URL with hashtag?

For example:

I have this link: <a class="contact">Contact Me</a>

and when I visit www.example.com/#contact to fire: $('a.contact').trigger('click');

Is this possible by any hacky way?

2条回答
Bombasti
2楼-- · 2019-05-21 12:42
var hash = window.location.hash.slice(1); // get the hash, and strip out the "#"

if( hash /* && hash === 'contact' */ )  // if there was a hash
    $('a.' + hash ).trigger('click');   //    concatenate it into the selector
查看更多
冷血范
3楼-- · 2019-05-21 12:45

You should be able to capture the hashchange event using the jQuery BBQ plugin (see last example on this page). Something along these lines should work:

$(window).bind("hashchange", function(e) {
    if ($.param.fragment() === 'contact') {
        $('a.contact').trigger('click');
    }
});

$(window).trigger("hashchange");

This should not only work when you first load the page, but also when something else changes the fragment.

查看更多
登录 后发表回答