Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

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();
share|improve this question
    
What do you mean by current click event triggers function? –  Satpal Apr 22 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. –  devnull69 Apr 22 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. –  esternle Apr 22 at 13:19

2 Answers 2

up vote 0 down vote accepted

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));

    }
});
share|improve this answer
    
Thanks this worked out good. –  esternle Apr 22 at 14:39

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
share|improve this answer
    
Sorry this wasn't working for me but appreciate the effort. –  esternle Apr 22 at 14:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.