Как запустить функцию JavaScript, когда пользователь посещает хеш-ссылку (#something) с помощью JQuery? - PullRequest
1 голос
/ 25 мая 2011

У меня есть веб-приложение на http://example.com/app, и я хотел бы показать форму, если пользователь посещает http://example/app#add-item.

Можно ли как-нибудь использовать скрипт jQuery для добавления этой функции?

Мой текущий скрипт jQuery уже имеет такую ​​структуру:

$(document).ready(
    function() {
        $('#search').keyup(
            function() { ... }
        );
    }
)

Как мне показать форму, используя что-то вроде этого:

$(document).ready(
    function() {
        $('#search').keyup(
            function() { ... }
        );

        $('#add-item').visit( // .visit probably doesn't exist
            function() { content.innerHTML = myForm; }
        );
    }
)

Ответы [ 3 ]

3 голосов
/ 25 мая 2011

Вот что я делаю:

    var hash = (window.location.hash).replace('#', '');
    if (hash.length == 0) {
        //no hash
    }
    else {
        //use `hash`
        //example:
        if(hash == 'add-item'){
             //do something
        }
    }
2 голосов
/ 25 мая 2011

Может быть в состоянии использовать событие hashchange, как показано на http://benalman.com/projects/jquery-hashchange-plugin/.

0 голосов
/ 25 мая 2011
$(document).ready(
    function() {
        $('#search').keyup(
            function() { ... }
        );

        $('#add-item').click(
            function() { $("#content").html(myForm); }
        );
    }
);

Я предполагаю, что у вас есть элемент с идентификатором "content", где вы хотите отобразить форму.

...