Нажмите триггер на URL с помощью хэштега - PullRequest
2 голосов
/ 17 января 2012

Можете ли вы вызвать клик по URL с помощью хэштега?

Например:

У меня есть эта ссылка: <a class="contact">Contact Me</a>

и когда я посещаю www.example.com/#contact для стрельбы: $('a.contact').trigger('click');

Это возможно любым хакерским путем?

Ответы [ 2 ]

3 голосов
/ 17 января 2012
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
1 голос
/ 17 января 2012

Вы должны иметь возможность захватить событие hashchange, используя плагин jQuery BBQ (см. Последний пример на этой странице). Что-то вроде этого должно работать:

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

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

Это должно работать не только при первой загрузке страницы, но и когда что-то еще меняет фрагмент.

...