【问题标题】:data- not working in IE8数据 - 在 IE8 中不起作用
【发布时间】:2015-04-08 02:47:48
【问题描述】:

我创建了这段代码来创建动态弹出窗口,但在 IE8 中不起作用。

Can i use 告诉我 IE8 部分支持此功能 -> http://caniuse.com/#search=data-

这是代码:

HTML:

  <div class="popup" data-ride="popup"></div>
  <a href="#" data-popup="open">Abrir</a>
  <a href="#" data-popup="close">Fechar</a>

CSS:

body {
  margin: 0 auto;
}
.popup {
  position: fixed;
  background-color: black;
  opacity: 0.9;
  display: none;
}

JS:

+function ($) {
  'use strict';

  function PopUp(element) {
    this.element = element;
    this.width = '100%';
    this.height = '100%';

    this.setSize();
  }

  PopUp.prototype.setSize = function() {
    var self = this;

    $(self.element).css('width', self.width);
    $(self.element).css('height', self.height);
  };


  var clickHandler = function (e) {
    var element = this;
    var action = $(element).data('popup');

    if (action === 'close') {
      $('.popup').hide();
    } else {
      $('.popup').show();
    }

    e.preventDefault();
  };

  $(document).on('click', '[data-popup]', clickHandler);

  $(window).on('load', function () {
    $('[data-ride="popup"]').each(function () {
      var $popup = $(this);
      $popup = new PopUp($popup);
    });
  });

}(jQuery);

在 IE9+、Firefox 和 Chrome 中可以 100% 运行。

例子:

http://codepen.io/celicoo/pen/yyWqWm

【问题讨论】:

  • 哪个部分不工作?是否抛出错误?更多调试信息会有所帮助
  • 那是因为我没有 charlie.. 只是不工作,当我点击打开时弹出窗口没有显示:B...没有错误..
  • 嗯,您应该了解很多事情,例如事件是否正在触发,是否抛出任何错误等。请创建一个复制问题的演示
  • 等一下@charlietfl

标签: javascript jquery html css internet-explorer-8


【解决方案1】:

根据 IE 10 - IE 8 的文档,您必须使用 jQuery 的 attr() 函数。

在这条线上,var action = $(element).data('popup');

你需要var action = $(element).attr('data-popup');

【讨论】:

  • 这是在哪里记录的?我自己在 IE 中使用 data() 从来没有遇到过问题
  • caniuse.com/#search=data- 部分支持是指能够使用 data- 属性并使用 getAttribute 访问它们。 *
  • 但这就是 jQuery 访问它的方式,并且自从 data() 被引入以来一直在 IE 中工作
  • 您也可以使用attr() 访问它。一个属性就是一个属性,不管它叫什么。 data() 只是简写。
  • 做了一些研究,我认为你是对的。事实上,他们告诉你使用data() 来获取这些元素。误读 CaniUse 网站 =\
猜你喜欢
  • 2014-12-07
  • 2012-06-28
  • 2015-12-19
  • 2012-05-23
  • 2015-06-07
  • 2013-05-07
  • 2012-05-12
  • 2012-04-03
  • 1970-01-01
相关资源
最近更新 更多