popup_opened and popup_closed events.

master
Artem Sapegin 2014-02-12 16:40:51 +04:00
parent ca9f6944c7
commit 70d7039117
3 changed files with 34 additions and 0 deletions

View File

@ -207,6 +207,26 @@ $('.social-likes').on('ready.social-likes', function(event, number) {
});
```
#### `popup_opened.social-likes`
Triggers after popup window opened.
```javascript
$('.social-likes').on('popup_opened.social-likes', function(event, service, win) {
// win is popup window handler (window.open())
});
```
#### `popup_closed.social-likes`
Triggers after popup window closed.
```javascript
$('.social-likes').on('popup_closed.social-likes', function(event, service) {
$(event.currentTarget).socialLikes({forceUpdate: true}); // Update counters
});
```
### Adding your own button
You can find some custom buttons in `contrib` folder.

View File

@ -282,6 +282,13 @@ var sl = $('#social-likes-manual');
sl.on('counter.social-likes', function(event, service, number) {
console.log('Counter', service, number);
});
sl.on('popup_opened.social-likes', function(event, service, win) {
console.log('Popup opened', service, win);
});
sl.on('popup_closed.social-likes', function(event, service) {
console.log('Popup closed', service);
$(event.currentTarget).socialLikes({forceUpdate: true}); // Update counters
});
sl.socialLikes();
$('#social-likes-update').click(function() {
sl.socialLikes({

View File

@ -208,6 +208,7 @@ $.fn.socialLikes.defaults = {
counters: true,
zeroes: false,
wait: 500,
popupCheckInterval: 500,
singleTitle: 'Share'
};
@ -520,6 +521,12 @@ Button.prototype = {
'width=' + params.width + ',height=' + params.height + ',personalbar=0,toolbar=0,scrollbars=1,resizable=1');
if (win) {
win.focus();
this.widget.trigger('popup_opened.' + prefix, [this.service, win]);
var timer = setInterval($.proxy(function() {
if (!win.closed) return;
clearInterval(timer);
this.widget.trigger('popup_closed.' + prefix, this.service);
}, this), this.options.popupCheckInterval);
}
else {
location.href = url;