Вопрос

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?

Это было полезно?

Решение

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

Другие советы

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top