在运行iOS6的iPhone4上测试网站时,我遇到了一个奇怪的显示问题。
出于某种原因,iPhone忽略显示:内联;单击父链接时的规则。我一直在使用Safari开发人员工具浏览测试站点,并且切换类名称正在按预期工作。
我正在使用这段javascript在div上切换类名:
$('.toggle').click(function() {
$(this).toggleClass('toggle');
$(this).toggleClass('toggle_open');
});
标记看起来像这样:
<div class="toggle">
<a href="#" class="level1"><span>Parent</span></a>
<div>
<a href="#"><span>Child 1</span></a>
<a href="#"><span>Child 2</span></a>
<a href="#"><span>Child 3</span></a>
</div>
</div>
CSS:
div.toggle div { display: none; }
div.toggle, div.toggle_open { display: inline; }
如果我改变显示:内联到内联块它可以工作。如果我删除display:inline完全可行,但随后会在浏览器中显示问题。我想使用display:inline;因此,如果需要,我的标记内容将显示在1行或2行。
我知道我可以使用modinizer为'touch'和'no-touch'创建一个规则,但是对于可能是我的代码创建的bug的东西来说这似乎过度了!)
我做了什么来扰乱移动Safari?