javascript - jquery detect hash in url trigger click event - Stack Overflow

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

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:

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

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./#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 asked Apr 22, 2014 at 13:12 esternleesternle 331 silver badge9 bronze badges 3
  • What do you mean by current click event triggers function? – Satpal 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. – devnull69 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. – esternle Commented Apr 22, 2014 at 13:19
Add a ment  | 

2 Answers 2

Reset to default 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));

    }
});

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

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745661618a4638869.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信