mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Accordion: Don't stop propagation when clicking in headers. Fixes #4732 - accordion steals header clicks.
This commit is contained in:
parent
c0ba6ccda7
commit
4f03ac24fd
@ -101,7 +101,10 @@ $.widget("ui.accordion", {
|
|||||||
this.headers.find('a').attr('tabIndex','-1');
|
this.headers.find('a').attr('tabIndex','-1');
|
||||||
|
|
||||||
if (o.event) {
|
if (o.event) {
|
||||||
this.headers.bind((o.event) + ".accordion", function(event) { return self._clickHandler.call(self, event, this); });
|
this.headers.bind((o.event) + ".accordion", function(event) {
|
||||||
|
self._clickHandler.call(self, event, this);
|
||||||
|
event.preventDefault();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@ -181,7 +184,8 @@ $.widget("ui.accordion", {
|
|||||||
break;
|
break;
|
||||||
case keyCode.SPACE:
|
case keyCode.SPACE:
|
||||||
case keyCode.ENTER:
|
case keyCode.ENTER:
|
||||||
return this._clickHandler({ target: event.target }, event.target);
|
this._clickHandler({ target: event.target }, event.target);
|
||||||
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (toFocus) {
|
if (toFocus) {
|
||||||
@ -246,7 +250,7 @@ $.widget("ui.accordion", {
|
|||||||
_clickHandler: function(event, target) {
|
_clickHandler: function(event, target) {
|
||||||
|
|
||||||
var o = this.options;
|
var o = this.options;
|
||||||
if (o.disabled) return false;
|
if (o.disabled) { return; }
|
||||||
|
|
||||||
// called only when using activate(false) to close all parts programmatically
|
// called only when using activate(false) to close all parts programmatically
|
||||||
if (!event.target && o.collapsible) {
|
if (!event.target && o.collapsible) {
|
||||||
@ -263,7 +267,7 @@ $.widget("ui.accordion", {
|
|||||||
},
|
},
|
||||||
toShow = (this.active = $([]));
|
toShow = (this.active = $([]));
|
||||||
this._toggle(toShow, toHide, data);
|
this._toggle(toShow, toHide, data);
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the click target
|
// get the click target
|
||||||
@ -272,7 +276,7 @@ $.widget("ui.accordion", {
|
|||||||
|
|
||||||
// if animations are still active, or the active header is the target, ignore click
|
// if animations are still active, or the active header is the target, ignore click
|
||||||
if (this.running || (!o.collapsible && clickedIsActive)) {
|
if (this.running || (!o.collapsible && clickedIsActive)) {
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// switch classes
|
// switch classes
|
||||||
@ -299,7 +303,7 @@ $.widget("ui.accordion", {
|
|||||||
this.active = clickedIsActive ? $([]) : clicked;
|
this.active = clickedIsActive ? $([]) : clicked;
|
||||||
this._toggle(toShow, toHide, data, clickedIsActive, down);
|
this._toggle(toShow, toHide, data, clickedIsActive, down);
|
||||||
|
|
||||||
return false;
|
return;
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user