【发布时间】:2017-10-11 02:29:17
【问题描述】:
单击时我正在实例化一个新的 Vimeo 对象。这使我可以根据单击的元素使用事件目标来获取 videoUrl。然后 vimeo api 自动创建一个嵌入视频的 iframe。问题是一旦创建了 Vimeo 播放器,我就无法销毁它并使用另一个 videoUrl 重新创建它。它停留在我单击的第一个元素上。如果我刷新并单击另一个元素,它适用于新的 videoUrl,因此这意味着它适用于我选择的任何元素,但仅适用于第一次单击。我猜这是一个我不熟悉的JS问题。我习惯了 C++,我们可以使用指针来解决这种事情。如有任何建议,我将不胜感激。
function openModal(e) {
var modal = document.getElementById('Modal');
var videoUrl = e.target.dataset.videoLink;
//JS Player Code
alert(e.target.dataset.videoLink);
var options = {
url: videoUrl,
width: 640,
loop: false
};
var player = new Vimeo.Player('Modal', options);
modal.style.display = "block";
//Doesn't seem to do anything
delete player;
}
【问题讨论】:
-
delete运算符用于删除对象属性;你不能用它来删除局部变量。但无论如何,移除变量或属性与移除变量或属性所引用的对象是有区别的。
标签: javascript object dom