【问题标题】:Fullscreen with jquery selector全屏与 jquery 选择器
【发布时间】:2013-12-23 18:43:51
【问题描述】:

我正在尝试使用 onclick 事件使元素全屏显示。它与点击事件函数中的以下代码配合良好:

var element = document.getElementById('fullscreenDiv');
fullScreen(element);

fullScreen 函数正确处理请求。但是当我尝试使用相同的代码,但用一个简单的 jquery 选择器替换 document.getElementById 时,什么也没有发生:

var element = $('#fullscreenDiv');
fullScreen(element);

我看不出这种行为的原因。有没有人对此作出解释?感谢您的回答!

fullScreen 函数如下所示:

function fullScreen(element) {
    if(element.requestFullScreen) {
      element.requestFullScreen();
    } else if(element.webkitRequestFullScreen ) {
      element.webkitRequestFullScreen();
    } else if(element.mozRequestFullScreen) {
      element.mozRequestFullScreen();
    }
}

【问题讨论】:

  • 您是否在控制台中发现任何错误消息?
  • 取决于您的功能所期望的,我们可以看看功能。

标签: jquery selector fullscreen


【解决方案1】:

fullScreen() 函数期望获得一个 DOMNode 元素,而不是像您通过的那样的 jQuery 对象,如果您要通过 jQuery 对象 选择的 Node 元素:

var $element = $('#fullscreenDiv');
fullScreen($element.get(0));

这也将按照您的第一个 sn-p 预期工作。为了让您更了解为什么会发生这种情况,jQuery 对象是原始 DOM 元素的集合,使用 .get() 或 [index] 访问这些收集的元素。

【讨论】:

  • 或者干脆var element = $('#fullscreenDiv')[0];
  • 太棒了!两种解决方案都有效。谢谢!也为了解释!
猜你喜欢
  • 1970-01-01
  • 2011-04-08
  • 2015-04-22
  • 2013-03-01
  • 2014-08-14
  • 2012-02-08
  • 2011-03-28
  • 2011-02-24
  • 1970-01-01
相关资源
最近更新 更多