1

I have looked at a lot of examples on SO but can't seems to see what the issue is with my code:

I have urls that have hash tags / jump to id values appended to them. I want to check if the url has a hash tag and use that value as a click event like i would do on the page when clicking a button.

example url: http://domain.com/#help-video-modal-tags

jquery code:

jQuery(document).ready(function() { 
    if ( window.location.hash ) {

        function showVideo() {
            alert('in the function');
        }

        jQuery(window.location.hash).click(showVideo);

}
});

current click event triggers function

showVideo();
3
  • What do you mean by current click event triggers function? Commented Apr 22, 2014 at 13:17
  • Do you actually want to TRIGGER a click or do you just want to add a click event listener? Your code does the latter. So if you click on the element with the same id as the hash, it should work. Commented Apr 22, 2014 at 13:18
  • the page has a click event that is also on a <a> link that will run the showVideo() function. I basically want to run that same action of clicking the <a> link but when the page loads by checking the hash value in the url. Commented Apr 22, 2014 at 13:19

2 Answers 2

3

Use this

jQuery(document).ready(function() { 
    if ( window.location.hash ) {

        function showVideo(hash) {
            alert('in the function, hash -> ' + hash);
        }

        jQuery(document).click(showVideo(window.location.hash));

    }
});
Sign up to request clarification or add additional context in comments.

Comments

1

If I remember correctly to trigger an event of certain element is:

$('elem').trigger('click');

So in this case:

$(document).ready(function() { 
    if ( window.location.hash ) {   
        $(window.location.hash).trigger('click');//and trigger the event when needed
   }
});

function showVideo() {
  alert('do something when click is trigger');
}

$('elem').click(showVideo); //assign the event function normally

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.