fullscreenApi使fullscreen元素具有内部元素和保存工作下拉列表的能力
fullscreen api make fullscreen element with internal elements and save ability to work dropdown
我可以使用全屏API使全屏任何具有许多内部元素的元素,并保存工作下拉列表和其他自定义元素的能力,这些元素的一部分位于页面的不同位置吗?
例如带有下拉菜单的div(例如https://code.google.com/p/ufd/),当我将这个div设置为全屏时,下拉菜单将不起作用(下拉菜单仍起作用,但下拉菜单项列表隐藏在div后面)。
我希望下拉菜单在没有全屏的情况下仍然可以工作。
我可以这么做吗?更改下拉列表和其他元素的z索引是不合适的。
下拉式元素很可能附加到一个不是全屏元素的派生元素(例如文档主体)。如果是这种情况,您可以使用突变观察器来观察添加到文档主体中的特定元素(即下拉元素),并将它们移动到全屏元素下。
fullscreenMutationObserver: MutationObserver;
requestFullscreen(fullscreenElement) {
if(document.fullscreenElement) {
document.exitFullscreen();
if(this.fullscreenMutationObserver) {
this.fullscreenMutationObserver.disconnect();
}
return;
}
fullscreenElement.requestFullscreen();
this.fullscreenMutationObserver = new MutationObserver(mutationRecords => {
mutationRecords.forEach(mutationRecord => {
mutationRecord.addedNodes.forEach(node => {
if(node.isTheDropdownElementWeAreLookingFor()) {
document.body.removeChild(node);
document.querySelector(':fullscreen').appendChild(node);
}
});
});
});
this.fullscreenMutationObserver.observe(document.body, { childList: true });
}
相关文章:
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 用javascript将script元素附加到头部;铬不能工作
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- DIV怎么能像Javascript中的另一个元素一样工作呢
- javascript()onclick隐藏元素-dos'我不在firefox工作
- 没有获得基础's的Javascript元素工作(与Laravel和Elixir)
- 为什么在ASP.NET Ajax更新面板中执行任何操作后javascript元素都停止工作
- jQuery插件在为元素分配id时停止工作
- 注入的元素和jQuery脚本.如何让他们一起工作
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 让 jquery 为 ajax 添加的元素工作的最佳方法是什么?
- 似乎无法获得'.focus()'元素工作.
- 如何使工具提示从函数本身之外的元素工作
- 似乎不能让JQuery's .on()为通过脚本创建的元素工作
- 添加元素工作,但清除输入值
- jQuery选择器不能为动态创建的元素工作
- IE11 Javascript更改事件不与html表单元素工作
- 欧芹js会为运行时出现的元素工作吗
- 为什么点击一个元素来触发一个事件会阻止另一个元素工作呢?