【问题标题】:jQuery IE10 behavior of css('background-position')css('background-position') 的 jQuery IE10 行为
【发布时间】:2013-02-28 12:22:48
【问题描述】:

我有简单的代码 sn-p:

$('div').css('background-position', '0px 0px');
alert( $('div').css('background-position') );

我希望我会收到'0px 0px',但我在 IE10 中收到了“0% 0%”。 我还注意到 jquery .css 总是在等于 0px 时返回百分比结果,例如 IE10 中的 "0px 50px" => "0% 50px"。

是 jQuery 错误吗?还是 IE10 的 bug?

你可以try it on jsbin

谢谢!

【问题讨论】:

  • 看起来像是 IE 10 中的一个变化,还不一定会称之为错误 :) 但会返回 IE 9 中的输入字符串。
  • IE9 行为符合预期。 IE10 - 不是。似乎是 jQuery 问题,因为它工作正常,当我们不使用 jQuery 时:jsbin.com/emacow/5/edit

标签: javascript jquery internet-explorer internet-explorer-10 background-position


【解决方案1】:

您不能依赖与您所给予的相同的价值观。浏览器可以并且经常对你给它们的值进行规范化。

例如,如果您指定颜色#ffffff,浏览器可能会在内部将其更改为rgb(255,255,255)。类似地,0px 的长度可以仅转换为 0

永远不要依赖你告诉它的样式属性。如果您需要知道,可以使用变量来跟踪它,或者使用类之类的东西来根据需要更改样式。

【讨论】:

  • 好的,我想测试我的微调器中的背景位置变化。如果我不能依赖 .css 属性,我该怎么做?
  • 嗯,背景位置不会自行改变。无论代码更改背景位置,您都可以调整为调用函数。
  • 是的,好点。我可以测试该变量而不依赖 .css();但无论如何这很奇怪:jsbin.com/emacow/5/edit :) 即使在 IE10 中也可以正常工作。
猜你喜欢
  • 2014-06-08
  • 2012-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多