From 45276521778c9843c3d308f7fcda4168a75f4825 Mon Sep 17 00:00:00 2001 From: Patrick Yeo Date: Fri, 8 Sep 2017 14:53:15 -0700 Subject: Collapse.js preventDefault if `[data-toggle="collapse"]` is an anchor tag --- js/src/collapse.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/src/collapse.js') diff --git a/js/src/collapse.js b/js/src/collapse.js index acc959d40..bf9c990ec 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -363,7 +363,7 @@ const Collapse = (() => { $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { // preventDefault only for elements (which change the URL) not inside the collapsible element - if (event.target.tagName === 'A' && !$.contains(this, event.target)) { + if (event.currentTarget.tagName === 'A') { event.preventDefault() } -- cgit v1.2.3 From 9b8356ba52d89fd065d6061979b5946b8c5f44fa Mon Sep 17 00:00:00 2001 From: Johann-S Date: Mon, 25 Sep 2017 12:41:54 +0200 Subject: Collapse - Allow to pass jQuery object or DOM element to the parent option --- js/src/collapse.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'js/src/collapse.js') diff --git a/js/src/collapse.js b/js/src/collapse.js index bf9c990ec..fa082f133 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -33,7 +33,7 @@ const Collapse = (() => { const DefaultType = { toggle : 'boolean', - parent : 'string' + parent : '(string|element)' } const Event = { @@ -289,7 +289,18 @@ const Collapse = (() => { } _getParent() { - const parent = $(this._config.parent)[0] + let parent = null + if (Util.isElement(this._config.parent)) { + parent = this._config.parent + + // it's a jQuery object + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0] + } + } else { + parent = $(this._config.parent)[0] + } + const selector = `[data-toggle="collapse"][data-parent="${this._config.parent}"]` -- cgit v1.2.3