files/en-us/web/api/htmlvideoelement/enterpictureinpicture_event/index.md
{{APIRef("Picture-in-Picture API")}}
The enterpictureinpicture event is fired when the {{DOMxRef("HTMLVideoElement")}} enters picture-in-picture mode successfully.
This event is not cancelable and does not bubble.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("enterpictureinpicture", (event) => { })
onenterpictureinpicture = (event) => { }
A {{domxref("PictureInPictureEvent")}}. Inherits from {{domxref("Event")}}.
{{InheritanceDiagram("PictureInPictureEvent")}}
This interface also inherits properties from its parent {{domxref("Event")}}.
These examples add an event listener for the HTMLVideoElement's enterpictureinpicture event, then post a message when that event handler has reacted to the event firing.
Using addEventListener():
const video = document.querySelector("#video");
const button = document.querySelector("#button");
function onEnterPip() {
console.log("Picture-in-Picture mode activated!");
}
video.addEventListener("enterpictureinpicture", onEnterPip);
button.onclick = () => {
video.requestPictureInPicture();
};
Using the onenterpictureinpicture event handler property:
const video = document.querySelector("#video");
const button = document.querySelector("#button");
function onEnterPip() {
console.log("Picture-in-Picture mode activated!");
}
video.onenterpictureinpicture = onEnterPip;
button.onclick = () => {
video.requestPictureInPicture();
};
{{Specifications}}
{{Compat}}