Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demix click events from GlobalEventHandlers #18226

Merged
merged 1 commit into from
Jul 12, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 27 additions & 24 deletions files/en-us/_redirects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1916,10 +1916,10 @@
/en-US/docs/DOM/element.onbeforescriptexecute /en-US/docs/Web/API/Document/beforescriptexecute_event
/en-US/docs/DOM/element.onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/DOM/element.onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/DOM/element.onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/DOM/element.onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/DOM/element.oncopy /en-US/docs/Web/API/HTMLElement/copy_event
/en-US/docs/DOM/element.oncut /en-US/docs/Web/API/HTMLElement/cut_event
/en-US/docs/DOM/element.ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/DOM/element.ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/DOM/element.onfocus /en-US/docs/Web/API/Window/focus_event
/en-US/docs/DOM/element.onkeydown /en-US/docs/Web/API/Element/keydown_event
/en-US/docs/DOM/element.onkeypress /en-US/docs/Web/API/Element/keypress_event
Expand Down Expand Up @@ -2176,7 +2176,7 @@
/en-US/docs/DOM/window.onbeforeunload /en-US/docs/Web/API/Window/beforeunload_event
/en-US/docs/DOM/window.onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/DOM/window.onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/DOM/window.onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/DOM/window.onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/DOM/window.onclose /en-US/docs/Web/API/HTMLDialogElement/close_event
/en-US/docs/DOM/window.oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/DOM/window.ondevicemotion /en-US/docs/Web/API/Window/devicemotion_event
Expand Down Expand Up @@ -2409,10 +2409,10 @@
/en-US/docs/DOM:element.offsetWidth /en-US/docs/Web/API/HTMLElement/offsetWidth
/en-US/docs/DOM:element.onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/DOM:element.onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/DOM:element.onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/DOM:element.onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/DOM:element.oncopy /en-US/docs/Web/API/HTMLElement/copy_event
/en-US/docs/DOM:element.oncut /en-US/docs/Web/API/HTMLElement/cut_event
/en-US/docs/DOM:element.ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/DOM:element.ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/DOM:element.onfocus /en-US/docs/Web/API/Window/focus_event
/en-US/docs/DOM:element.onkeydown /en-US/docs/Web/API/Element/keydown_event
/en-US/docs/DOM:element.onkeypress /en-US/docs/Web/API/Element/keypress_event
Expand Down Expand Up @@ -2613,7 +2613,7 @@
/en-US/docs/DOM:window.onbeforeunload /en-US/docs/Web/API/Window/beforeunload_event
/en-US/docs/DOM:window.onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/DOM:window.onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/DOM:window.onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/DOM:window.onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/DOM:window.onclose /en-US/docs/Web/API/HTMLDialogElement/close_event
/en-US/docs/DOM:window.oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/DOM:window.ondragdrop /en-US/docs/Web/API/Window/ondragdrop
Expand Down Expand Up @@ -3152,10 +3152,10 @@
/en-US/docs/Document_Object_Model_(DOM)/element.onbeforescriptexecute /en-US/docs/Web/API/Document/beforescriptexecute_event
/en-US/docs/Document_Object_Model_(DOM)/element.onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Document_Object_Model_(DOM)/element.onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Document_Object_Model_(DOM)/element.onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/Document_Object_Model_(DOM)/element.onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Document_Object_Model_(DOM)/element.oncopy /en-US/docs/Web/API/HTMLElement/copy_event
/en-US/docs/Document_Object_Model_(DOM)/element.oncut /en-US/docs/Web/API/HTMLElement/cut_event
/en-US/docs/Document_Object_Model_(DOM)/element.ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/Document_Object_Model_(DOM)/element.ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/Document_Object_Model_(DOM)/element.onfocus /en-US/docs/Web/API/Window/focus_event
/en-US/docs/Document_Object_Model_(DOM)/element.onkeydown /en-US/docs/Web/API/Element/keydown_event
/en-US/docs/Document_Object_Model_(DOM)/element.onkeypress /en-US/docs/Web/API/Element/keypress_event
Expand Down Expand Up @@ -3334,7 +3334,7 @@
/en-US/docs/Document_Object_Model_(DOM)/window.onbeforeunload /en-US/docs/Web/API/Window/beforeunload_event
/en-US/docs/Document_Object_Model_(DOM)/window.onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Document_Object_Model_(DOM)/window.onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Document_Object_Model_(DOM)/window.onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/Document_Object_Model_(DOM)/window.onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Document_Object_Model_(DOM)/window.onclose /en-US/docs/Web/API/HTMLDialogElement/close_event
/en-US/docs/Document_Object_Model_(DOM)/window.oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/Document_Object_Model_(DOM)/window.ondevicemotion /en-US/docs/Web/API/Window/devicemotion_event
Expand Down Expand Up @@ -7830,9 +7830,9 @@
/en-US/docs/Web/API/Document/onbeforescriptexecute /en-US/docs/Web/API/Document/beforescriptexecute_event
/en-US/docs/Web/API/Document/onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Web/API/Document/onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Web/API/Document/onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/Web/API/Document/onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Web/API/Document/oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/Web/API/Document/ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/Web/API/Document/ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/Web/API/Document/onfocus /en-US/docs/Web/API/Window/focus_event
/en-US/docs/Web/API/Document/onfullscreenchange /en-US/docs/Web/API/Document/fullscreenchange_event
/en-US/docs/Web/API/Document/onfullscreenerror /en-US/docs/Web/API/Document/fullscreenerror_event
Expand Down Expand Up @@ -8100,10 +8100,10 @@
/en-US/docs/Web/API/GlobalEventHandlers.onabort /en-US/docs/Web/API/HTMLMediaElement/abort_event
/en-US/docs/Web/API/GlobalEventHandlers.onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Web/API/GlobalEventHandlers.onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Web/API/GlobalEventHandlers.onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/Web/API/GlobalEventHandlers.onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Web/API/GlobalEventHandlers.onclose /en-US/docs/Web/API/HTMLDialogElement/close_event
/en-US/docs/Web/API/GlobalEventHandlers.oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/Web/API/GlobalEventHandlers.ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/Web/API/GlobalEventHandlers.ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/Web/API/GlobalEventHandlers.onerror /en-US/docs/Web/API/GlobalEventHandlers/onerror
/en-US/docs/Web/API/GlobalEventHandlers.onfocus /en-US/docs/Web/API/Window/focus_event
/en-US/docs/Web/API/GlobalEventHandlers.oninput /en-US/docs/Web/API/HTMLElement/input_event
Expand Down Expand Up @@ -8138,13 +8138,16 @@
/en-US/docs/Web/API/GlobalEventHandlers/GlobalEventHandlers.ontouchend /en-US/docs/Web/API/Element/touchend_event
/en-US/docs/Web/API/GlobalEventHandlers/dragexit_event /en-US/docs/Web/API/Document/dragleave_event
/en-US/docs/Web/API/GlobalEventHandlers/onabort /en-US/docs/Web/API/HTMLMediaElement/abort_event
/en-US/docs/Web/API/GlobalEventHandlers/onauxclick /en-US/docs/Web/API/Element/auxclick_event
/en-US/docs/Web/API/GlobalEventHandlers/onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Web/API/GlobalEventHandlers/oncanplay /en-US/docs/Web/API/HTMLMediaElement/canplay_event
/en-US/docs/Web/API/GlobalEventHandlers/oncanplaythrough /en-US/docs/Web/API/HTMLMediaElement/canplaythrough_event
/en-US/docs/Web/API/GlobalEventHandlers/onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Web/API/GlobalEventHandlers/onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Web/API/GlobalEventHandlers/onclose /en-US/docs/Web/API/HTMLDialogElement/close_event
/en-US/docs/Web/API/GlobalEventHandlers/oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/Web/API/GlobalEventHandlers/oncuechange /en-US/docs/Web/API/TextTrack/cuechange_event
/en-US/docs/Web/API/GlobalEventHandlers/ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/Web/API/GlobalEventHandlers/ondragexit /en-US/docs/Web/API/GlobalEventHandlers/ondragleave
/en-US/docs/Web/API/GlobalEventHandlers/ondurationchange /en-US/docs/Web/API/HTMLMediaElement/durationchange_event
/en-US/docs/Web/API/GlobalEventHandlers/onemptied /en-US/docs/Web/API/HTMLMediaElement/emptied_event
Expand Down Expand Up @@ -8235,11 +8238,11 @@
/en-US/docs/Web/API/HTMLElement/onabort /en-US/docs/Web/API/HTMLMediaElement/abort_event
/en-US/docs/Web/API/HTMLElement/onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Web/API/HTMLElement/onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Web/API/HTMLElement/onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/Web/API/HTMLElement/onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Web/API/HTMLElement/oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/Web/API/HTMLElement/oncopy /en-US/docs/Web/API/HTMLElement/copy_event
/en-US/docs/Web/API/HTMLElement/oncut /en-US/docs/Web/API/HTMLElement/cut_event
/en-US/docs/Web/API/HTMLElement/ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/Web/API/HTMLElement/ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/Web/API/HTMLElement/onfocus /en-US/docs/Web/API/Window/focus_event
/en-US/docs/Web/API/HTMLElement/oninput /en-US/docs/Web/API/HTMLElement/input_event
/en-US/docs/Web/API/HTMLElement/onkeydown /en-US/docs/Web/API/Element/keydown_event
Expand Down Expand Up @@ -9275,9 +9278,9 @@
/en-US/docs/Web/API/SVGElement/onabort /en-US/docs/Web/API/HTMLMediaElement/abort_event
/en-US/docs/Web/API/SVGElement/onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Web/API/SVGElement/onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Web/API/SVGElement/onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/Web/API/SVGElement/onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Web/API/SVGElement/oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/Web/API/SVGElement/ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/Web/API/SVGElement/ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/Web/API/SVGElement/onfocus /en-US/docs/Web/API/Window/focus_event
/en-US/docs/Web/API/SVGElement/oninput /en-US/docs/Web/API/HTMLElement/input_event
/en-US/docs/Web/API/SVGElement/onkeydown /en-US/docs/Web/API/Element/keydown_event
Expand Down Expand Up @@ -9808,9 +9811,9 @@
/en-US/docs/Web/API/Window/onbeforeunload /en-US/docs/Web/API/Window/beforeunload_event
/en-US/docs/Web/API/Window/onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Web/API/Window/onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Web/API/Window/onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/Web/API/Window/onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Web/API/Window/oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/Web/API/Window/ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/Web/API/Window/ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/Web/API/Window/ondevicemotion /en-US/docs/Web/API/Window/devicemotion_event
/en-US/docs/Web/API/Window/ondeviceorientation /en-US/docs/Web/API/Window/deviceorientation_event
/en-US/docs/Web/API/Window/ondeviceorientationabsolute /en-US/docs/Web/API/Window/deviceorientationabsolute_event
Expand Down Expand Up @@ -10172,10 +10175,10 @@
/en-US/docs/Web/API/element.onbeforescriptexecute /en-US/docs/Web/API/Document/beforescriptexecute_event
/en-US/docs/Web/API/element.onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Web/API/element.onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Web/API/element.onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/Web/API/element.onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Web/API/element.oncopy /en-US/docs/Web/API/HTMLElement/copy_event
/en-US/docs/Web/API/element.oncut /en-US/docs/Web/API/HTMLElement/cut_event
/en-US/docs/Web/API/element.ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/Web/API/element.ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/Web/API/element.onfocus /en-US/docs/Web/API/Window/focus_event
/en-US/docs/Web/API/element.onkeydown /en-US/docs/Web/API/Element/keydown_event
/en-US/docs/Web/API/element.onkeypress /en-US/docs/Web/API/Element/keypress_event
Expand Down Expand Up @@ -10462,7 +10465,7 @@
/en-US/docs/Web/API/window.onbeforeunload /en-US/docs/Web/API/Window/beforeunload_event
/en-US/docs/Web/API/window.onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/Web/API/window.onchange /en-US/docs/Web/API/HTMLElement/change_event
/en-US/docs/Web/API/window.onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/Web/API/window.onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/Web/API/window.onclose /en-US/docs/Web/API/HTMLDialogElement/close_event
/en-US/docs/Web/API/window.oncontextmenu /en-US/docs/Web/API/Element/contextmenu_event
/en-US/docs/Web/API/window.ondevicemotion /en-US/docs/Web/API/Window/devicemotion_event
Expand Down Expand Up @@ -12891,8 +12894,8 @@
/en-US/docs/offsetLeft /en-US/docs/Web/API/HTMLElement/offsetLeft
/en-US/docs/offsetParent /en-US/docs/Web/API/HTMLElement/offsetParent
/en-US/docs/onblur /en-US/docs/Web/API/Window/blur_event
/en-US/docs/onclick /en-US/docs/Web/API/GlobalEventHandlers/onclick
/en-US/docs/ondblclick /en-US/docs/Web/API/GlobalEventHandlers/ondblclick
/en-US/docs/onclick /en-US/docs/Web/API/Element/click_event
/en-US/docs/ondblclick /en-US/docs/Web/API/Element/dblclick_event
/en-US/docs/onfocus /en-US/docs/Web/API/Window/focus_event
/en-US/docs/onkeydown /en-US/docs/Web/API/Element/keydown_event
/en-US/docs/onkeypress /en-US/docs/Web/API/Element/keypress_event
Expand Down
69 changes: 0 additions & 69 deletions files/en-us/_wikihistory.json
Original file line number Diff line number Diff line change
Expand Up @@ -44103,75 +44103,6 @@
"Sheppy"
]
},
"Web/API/GlobalEventHandlers/onauxclick": {
"modified": "2020-10-15T21:52:29.985Z",
"contributors": [
"mfluehr",
"fscholz",
"wbamberg",
"ericwilligers",
"chrisdavidmills"
]
},
"Web/API/GlobalEventHandlers/onclick": {
"modified": "2020-12-12T15:56:24.635Z",
"contributors": [
"bershanskiy",
"alexreardon",
"mfuji09",
"Sheppy",
"GawiSh97",
"mfluehr",
"fscholz",
"erikadoyle",
"jpmedley",
"chrisdavidmills",
"tejesh95",
"Makyen",
"cvrebert",
"AndyCErnst",
"teoli",
"MHasan",
"fkling42",
"Sebastianz",
"kscarfone",
"freddyb",
"ethertank",
"SteveFaulkner",
"Maciekp",
"Ms2ger",
"Mgjbot",
"Jabez",
"Nickolay",
"Jonnyq",
"Racer",
"BenoitL",
"Ettinger",
"Dria",
"JesseW"
]
},
"Web/API/GlobalEventHandlers/ondblclick": {
"modified": "2020-10-15T21:03:47.416Z",
"contributors": [
"mfluehr",
"fscholz",
"erikadoyle",
"jpmedley",
"cvrebert",
"Sebastianz",
"teoli",
"MHasan",
"avivas",
"kscarfone",
"Sheppy",
"ziyunfei",
"Pitoutompoilu",
"Jabez",
"Dria",
"JesseW"
]
},
"Web/API/GlobalEventHandlers/ondrag": {
"modified": "2020-10-15T21:40:01.258Z",
"contributors": [
Expand Down
2 changes: 1 addition & 1 deletion files/en-us/mozilla/firefox/releases/53/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Firefox 53 was released on April 19, 2017. This article lists key changes that a
- CSS Transitions: The {{domxref("HTMLElement/transitionstart_event", "transitionstart")}}, {{domxref("HTMLElement/transitionrun_event", "transitionrun")}}, and {{domxref("HTMLElement/transitioncancel_event", "transitioncancel")}} events have been implemented (see {{bug(1264125)}} and {{bug(1287983)}}).
- The {{domxref("CompositionEvent.CompositionEvent", "CompositionEvent")}} constructor has been implemented (see {{bug(1002256)}}).
- The {{domxref("MouseEvent.x")}} and {{domxref("MouseEvent.y")}} aliases of {{domxref("MouseEvent.clientX")}}/{{domxref("MouseEvent.clientY")}} have been implemented (see {{bug(424390)}}).
- The {{domxref("Element/auxclick_event", "auxclick")}} event and corresponding {{domxref("GlobalEventHandlers.onauxclick")}} handler have been implemented (see {{bug(1304044)}}).
- The {{domxref("Element/auxclick_event", "auxclick")}} event and corresponding event handler have been implemented (see {{bug(1304044)}}).
- The {{domxref("HTMLElement/transitioncancel_event", "transitioncancel")}} event is now fired after a [transition](/en-US/docs/Web/CSS/CSS_Transitions) is cancelled. See {{domxref("GlobalEventHandlers.ontransitioncancel")}} for more details and an example ({{bug("1264125")}}).

### DOM
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ P

This example demonstrates how events fire and are handled in the DOM in a very simple way. When the BODY of this HTML document loads, an event listener is registered with the top row of the TABLE. The event listener handles the event by executing the function stopEvent, which changes the value in the bottom cell of the table.

However, stopEvent also calls an event object method, {{domxref("event.stopPropagation")}}, which keeps the event from bubbling any further up into the DOM. Note that the table itself has an {{domxref("GlobalEventHandlers.onclick","onclick")}} event handler that ought to display a message when the table is clicked. But the stopEvent method has stopped propagation, and so after the data in the table is updated, the event phase is effectively ended, and an alert box is displayed to confirm this.
However, stopEvent also calls an event object method, {{domxref("event.stopPropagation")}}, which keeps the event from bubbling any further up into the DOM. Note that the table itself has an {{domxref("Element.click_event","onclick")}} event handler that ought to display a message when the table is clicked. But the stopEvent method has stopped propagation, and so after the data in the table is updated, the event phase is effectively ended, and an alert box is displayed to confirm this.

```html
<!DOCTYPE html>
Expand Down
Loading