Search code examples
javascriptjqueryhyperlinkfragment-identifierhashchange

How to run a JavaScript function when the user is visiting an hash link (#something) using JQuery?


I have a webb application at http://example.com/app and I would like to show a form if the user is visiting http://example/app#add-item.

Is there any way I can use a jQuery script to add this functionallity?

My current jQuery script already has a structure like this:

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

How can I show a form using someting like this:

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

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

Solution

  • Here is something I do:

        var hash = (window.location.hash).replace('#', '');
        if (hash.length == 0) {
            //no hash
        }
        else {
            //use `hash`
            //example:
            if(hash == 'add-item'){
                 //do something
            }
        }