diff --git a/spec/suites/dom/DomUtilSpec.js b/spec/suites/dom/DomUtilSpec.js index 4fca627845e..cdcef1947b9 100644 --- a/spec/suites/dom/DomUtilSpec.js +++ b/spec/suites/dom/DomUtilSpec.js @@ -288,22 +288,23 @@ describe('DomUtil', () => { describe('#preventOutline, #restoreOutline', () => { it('prevent / restore outline for the element', () => { const child = document.createElement('div'); - el.appendChild(child); + const originalStyle = child.style.outlineStyle = 'dotted'; + child.tabIndex = 0; - expect(child.style.outline).to.be.equal(child.style.outline); + el.appendChild(child); + L.DomUtil.preventOutline(child); - expect(child.style.outline).to.match(/(?:none)/); + expect(child.style.outlineStyle).to.equal('none'); - // Explicit #restoreOutline through direct call - expect(child.style.outline).to.match(/(?:none)/); + // Explicit #restoreOutline through direct call L.DomUtil.restoreOutline(child); - expect(child.style.outline).to.be.equal(child.style.outline); + expect(child.style.outlineStyle).to.be.equal(originalStyle); - // Implicit #restoreOutline test through simulation + // Implicit #restoreOutline test through simulation L.DomUtil.preventOutline(child); - expect(child.style.outline).to.match(/(?:none)/); + expect(child.style.outlineStyle).to.equal('none'); UIEventSimulator.fire('keydown', child); - expect(child.style.outline).to.be.equal(child.style.outline); + expect(child.style.outlineStyle).to.be.equal(originalStyle); }); }); }); diff --git a/src/dom/DomUtil.js b/src/dom/DomUtil.js index 67b238cc2d9..e58db61feab 100644 --- a/src/dom/DomUtil.js +++ b/src/dom/DomUtil.js @@ -134,8 +134,8 @@ export function preventOutline(element) { if (!element.style) { return; } restoreOutline(); _outlineElement = element; - _outlineStyle = element.style.outline; - element.style.outline = 'none'; + _outlineStyle = element.style.outlineStyle; + element.style.outlineStyle = 'none'; DomEvent.on(window, 'keydown', restoreOutline); } @@ -143,7 +143,7 @@ export function preventOutline(element) { // Cancels the effects of a previous [`L.DomUtil.preventOutline`](#domutil-preventoutline). export function restoreOutline() { if (!_outlineElement) { return; } - _outlineElement.style.outline = _outlineStyle; + _outlineElement.style.outlineStyle = _outlineStyle; _outlineElement = undefined; _outlineStyle = undefined; DomEvent.off(window, 'keydown', restoreOutline);