我将所有JS作为外部文件包含在页面的最底部.在这些文件中,我有几个像这样定义的方法,我从ready事件中调用它:
var SomeNamepsace = {};
SomeNamepsace.firstMethod = function () {
// do something
};
SomeNamepsace.secondMethod = function () {
// do something else
};
$(document).ready(function () {
SomeNamepsace.firstMethod();
SomeNamepsace.secondMethod();
});
Run Code Online (Sandbox Code Playgroud)
然而,当我删除ready函数并直接调用方法时,一切都运行相同,但执行速度明显更快 - 在一个非常基本的文件上几乎快一秒!由于此时应该加载文档(因为所有标记都出现在脚本标记之前),还有什么理由仍然使用ready事件吗?
我知道我们很多人都熟悉将CSS中body元素的字体大小设置为62.5%.这意味着1em将等于10px并有助于保持像素完美,但也允许缩放字体.
所以这不意味着将其设置为6.25%将等于1em = 1px?看起来像一个更简单的转换,而不是不得不乱七八糟...
多谢你们!我非常了解em和它的历史(设计学位),但我相信其他人可能会觉得它很有帮助:)
至于1em = 1px,我看不出这是不可取的.无论您的单位(无论是点还是像素),em都是正方形,没有人会将它们的类型设置为1px(就像没有人会在1pt处设置打印类型一样).此外,即使你的文章也承认,在大多数数字字体中,大写字母"M"通常小于1em,并且em仅仅是点大小的反映(48pt类型将为em提供48pt乘48pt的平方,12pt类型将产生12x12等)
此外,人们会这样做的原因更多的是设置页面上其他元素的尺寸,以便在用户调整字体大小时一切都很好地缩放.当然,总会有少数人将他们的默认设置设置为16px以外的其他东西,但值得为像素完美布局付出代价才能很好地扩展.
看起来很简单,但这对我来说有点头脑风云.给出以下(有效的xhtml过渡)代码:
<form action="weird.html">
<label for="test1">T1</label>
<input type="radio" id="test1" name="test" value="1" />
<label for="test2">T2</label>
<input type="radio" id="test2" name="test" value="2" />
<label for="test3">T3</label>
<input type="radio" id="test3" name="test" value="3" />
<label for="test4">T4</label>
<input type="radio" id="test4" name="test" value="4" />
<label for="test5">T5</label>
<input type="radio" id="test5" name="test" value="5" />
</form>
Run Code Online (Sandbox Code Playgroud)
为什么我不能在单选按钮之间切换?这个问题似乎是因为它们都具有相同的名称属性,但就可访问性而言,这似乎与我相反.为什么焦点状态只适用于一个?这是因为该组被视为单个元素吗?访问键是否是唯一的非Javascript解决方案?