RTCDataChannel: close event
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
The close
event is sent to the onclose
event handler on an RTCDataChannel
instance when the data transport for the data channel has closed. Before any further data can be transferred using RTCDataChannel
, a new 'RTCDataChannel' instance must be created.
This event is not cancelable and does not bubble.
Syntax
Use the event name in methods like addEventListener()
, or set an event handler property.
addEventListener("close", (event) => {});
onclose = (event) => {};
Event type
A generic Event
.
Examples
This example sets up a handler for the close
event for the RTCDataChannel
named dc
; its responsibility in this example is to update user interface elements to reflect that there is no longer an ongoing call, and to allow a new call to be started.
dc.addEventListener(
"close",
(ev) => {
messageInputBox.disabled = true;
sendButton.disabled = true;
connectButton.disabled = false;
disconnectButton.disabled = true;
},
false,
);
All this code does in response to receiving the close
event is to disable an input box and its "Send" button, and to enable the button used to start a call (while disabling the one that ends a call).
You can also use the onclose
event handler property to set a handler for close
events:
dc.onclose = (ev) => {
messageInputBox.disabled = true;
sendButton.disabled = true;
connectButton.disabled = false;
disconnectButton.disabled = true;
};
Specifications
Specification |
---|
WebRTC: Real-Time Communication in Browsers # event-datachannel-close |
WebRTC: Real-Time Communication in Browsers # dom-rtcdatachannel-onclose |
Browser compatibility
BCD tables only load in the browser
See also
- WebRTC API
- A simple RTCDataChannel example
- Related events:
open
,message
, anderror