这个问题的背景是我正在做一个计算元素,它涉及一些用于输入的下拉框,以及一个用户可以输入日期的文本输入。
我使用 YUI 来增强表单,因此日历输入使用 YUI calendar widget 并且下拉列表转换为输入的水平列表,用户只需单击一次即可选择任何输入,而不是单击两次下拉下框(希望有道理,不知道如何解释清楚)
问题是,在我元素的设计部分,我声明我将遵循渐进增强原则。然而,我正在努力确保没有 JavaScript 的用户能够查看所述页面上的下拉框/文本输入。
这不是因为我不一定知道如何,而是我尝试过的两种方法似乎都不令人满意。
方法 1 - 我尝试使用 YUI 隐藏文本框和下拉列表,这似乎是理想的解决方案,但是在加载页面(尤其是第一次)、文本框和下拉列表时出现了相当明显的延迟列表可见至少一秒钟。我在 body 标签结束之前包含了这个脚本,有什么办法可以用 YUI 运行它吗?那会有帮助吗?
方法 2 - 使用 noscript 标签。 . .但是我不愿意这样做,因为虽然这将是一个简单的解决方案,但我已经阅读了有关 noscript 标签的各种不好的内容。
有没有办法使方法一有效?或者有没有更好的方法来做到这一点,我还没有遇到过?
最佳答案
Yui 有 domready 事件(发生在 onload 之前)
http://yuilibrary.com/yui/docs/api/classes/YUI.html#event_domready
function bootstrap(ev) {
alert("This is the code to launch on domready");
}
YUI().use(
"event",
function (Y) {
Y.on("domready", bootstrap);
}
);
应该做你正在寻找的
关于javascript - 我应该如何使用 JavaScript 逐步增强此内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9888677/