问题
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?
回答1:
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
回答2:
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.
来源:https://stackoverflow.com/questions/8887209/trigger-click-on-url-with-hashtag