【问题标题】:How do you uncheck a checkbox when user exits fullscreen in javascript?当用户在javascript中退出全屏时,如何取消选中复选框?
【发布时间】:2019-03-15 23:38:05
【问题描述】:

我有一个 ID 为“全屏”的复选框元素。单击复选框使用户进入全屏模式。但是,如果用户使用 f11 退出全屏模式,该复选框仍处于选中状态。

我正在寻找如下脚本:

如果复选框“全屏”被选中,并且“onfullscreenchange” 事件发生

然后,取消选中 ID 为“全屏”的复选框。

这就是我现在拥有的: 它不起作用--

var el = document.getElementById('fullscreen');
if (el.checked == true){
document.onfullscreenchange = function ( event ) { 
  el.checked = false;
}; 
  }) );

我该怎么做?请帮忙!

【问题讨论】:

  • 嗨@SkylixMC,欢迎来到stackoverflow。只是好奇,你检查过this answer 了吗?您还可以通过window.onresize 或jQuery 事件检测浏览器screen size change。如果您可以检查窗口是否全屏,则可以取消选中右侧的复选框。

标签: javascript html


【解决方案1】:

您可以使用带有供应商前缀的 onfullscreenchange 事件侦听器来侦听全屏更改并执行任何需要的操作,例如。

document.addEventListener("webkitfullscreenchange", function (event) { 
  var el = document.getElementById('fullscreen');
  if(document.webkitFullscreenElement === null) {
    elem.checked = false
  }
}); 

或者

["fullscreenchange", "webkitfullscreenchange", "mozfullscreenchange", "msfullscreenchange"].forEach(
prefixed => document.addEventListener(prefixed, function() {
  var el = document.getElementById('fullscreen');
  el.checked = false;

}) );

【讨论】:

  • 那行不通。好的,我的复选框如下:“
  • 如果我只想取消选中 fullscreenchange 事件上的复选框... if (el.checked == true){
  • 你可以检查 if (document.fullscreenElement)。
  • 对于 Chrome 浏览器,类似 document.addEventListener("webkitfullscreenchange", function(event) { if (document.webkitFullscreenElement === null) { elem.checked = false; } });跨度>
猜你喜欢
  • 1970-01-01
  • 2019-04-18
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 2014-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多