Capturing the click event of a Like button

facebook, facebook-like, javascript, sdk

Solution

You need to attach the event after the JS SDK has had a chance to load. Use fbAsyncInit to do this.

window.fbAsyncInit = function() {

  FB.Event.subscribe('edge.create', function(response) {
       alert('You liked the URL: ' + response);
  });
};

Problem

I'm trying to subscribe to the Like button click. Here's the code I have: ``` <body> <!-- Facebook Like Button with your App ID --> <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=349467237487892"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); FB.Event.subscribe('edge.create', function(response) { alert('You liked the URL: ' + response); } ); ``` The Like button appears and works ok but I don't get the alert when it's clicked. Does anyone see the problem? Thanks for your help.

Original source