Skip to content
This repository was archived by the owner on Feb 23, 2023. It is now read-only.

Commit dbbf12f

Browse files
committed
Fixed #1608 - Click event delegation did not work properly
1 parent b18d43c commit dbbf12f

File tree

4 files changed

+21
-11
lines changed

4 files changed

+21
-11
lines changed

dist/jquery.fancybox.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// ==================================================
2-
// fancyBox v3.1.20
2+
// fancyBox v3.1.21
33
//
44
// Licensed GPLv3 for open source use
55
// or fancyBox Commercial License for commercial use
@@ -2629,7 +2629,7 @@
26292629

26302630
$.fancybox = {
26312631

2632-
version : "3.1.20",
2632+
version : "3.1.21",
26332633
defaults : defaults,
26342634

26352635

@@ -2906,13 +2906,19 @@
29062906
function _run( e ) {
29072907
var target = e.currentTarget,
29082908
opts = e.data ? e.data.options : {},
2909-
items = e.data ? e.data.items : [],
2909+
items = opts.selector ? $( opts.selector ) : ( e.data ? e.data.items : [] ),
29102910
value = $(target).attr( 'data-fancybox' ) || '',
2911-
index = 0;
2911+
index = 0,
2912+
active = $.fancybox.getInstance();
29122913

29132914
e.preventDefault();
29142915
e.stopPropagation();
29152916

2917+
// Avoid opening multiple times
2918+
if ( active && active.current.opts.$orig.is( target ) ) {
2919+
return;
2920+
}
2921+
29162922
// Get all related items and find index for clicked one
29172923
if ( value ) {
29182924
items = items.length ? items.filter( '[data-fancybox="' + value + '"]' ) : $( '[data-fancybox="' + value + '"]' );
@@ -2944,7 +2950,6 @@
29442950
if ( selector ) {
29452951

29462952
$( 'body' ).off( 'click.fb-start', selector ).on( 'click.fb-start', selector, {
2947-
items : $( selector ),
29482953
options : options
29492954
}, _run );
29502955

dist/jquery.fancybox.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@fancyapps/fancybox",
33
"description": "Touch enabled, responsive and fully customizable jQuery lightbox script",
4-
"version": "3.1.20",
4+
"version": "3.1.21",
55
"homepage": "http://fancyapps.com/fancybox/",
66
"main": "./dist/jquery.fancybox.min.js",
77
"author": "fancyApps",

src/js/core.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2896,13 +2896,19 @@
28962896
function _run( e ) {
28972897
var target = e.currentTarget,
28982898
opts = e.data ? e.data.options : {},
2899-
items = e.data ? e.data.items : [],
2899+
items = opts.selector ? $( opts.selector ) : ( e.data ? e.data.items : [] ),
29002900
value = $(target).attr( 'data-fancybox' ) || '',
2901-
index = 0;
2901+
index = 0,
2902+
active = $.fancybox.getInstance();
29022903

29032904
e.preventDefault();
29042905
e.stopPropagation();
29052906

2907+
// Avoid opening multiple times
2908+
if ( active && active.current.opts.$orig.is( target ) ) {
2909+
return;
2910+
}
2911+
29062912
// Get all related items and find index for clicked one
29072913
if ( value ) {
29082914
items = items.length ? items.filter( '[data-fancybox="' + value + '"]' ) : $( '[data-fancybox="' + value + '"]' );
@@ -2934,7 +2940,6 @@
29342940
if ( selector ) {
29352941

29362942
$( 'body' ).off( 'click.fb-start', selector ).on( 'click.fb-start', selector, {
2937-
items : $( selector ),
29382943
options : options
29392944
}, _run );
29402945

0 commit comments

Comments
 (0)