3

有没有人在没有 jQuery 组件的情况下使用 jQueryUI(例如 CSS 框架部分)?如果您要为没有 javascript 或已禁用 javascript 等的用户提供服务

一个特殊的场景是对话框非常出色和简单......虽然没有javascript,但它只是一个div......一个潜在的解决方案是让对话框div带有一个绝对定位并高于其他元素的类,然后当 jQueryUI 设置对话框时删除该类...这样如果 javascript 无法运行对话框仍然有该类?

或者您是否会使用 css 框架手动创建对话框...

4

2 回答 2

4

当 JavaScript 关闭时,我使用 jQuery UI 的类来“一致地”设置样式。您只需使用 jQuery UI 应用于元素的类,并包含 jQuery UI 样式表和资源。

例如,如果你有

<a href="#" id="abutton">This is a button</a>

然后你运行了 jQuery UI JavaScript:

$("#abutton").button();

它会将标记更改为:

<a href="#" id="abutton" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button">
    <span class="ui-button-text">This is a button</span>
</a>

给你一个漂亮的 jQuery UI 按钮。但只有在 JavaScript 运行后才会应用它。如果用户没有/不允许 JavaScript,那么你会得到一个丑陋的链接被使用。相反,您应该在开始时使用 jQuery UI 类:

<a href="#" id="abutton" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only">This is a button</a>

在 JavaScript 运行之前,它将具有基本的 jQuery UI 样式(尽管结构不同 - 跨度不存在,如果您最初有跨度,它无论如何都会添加另一个跨度,恕我直言这是一个错误)。问题是您希望 JavaScript 继续运行,因为它添加了其他东西,例如鼠标悬停效果(以及前面提到的跨度),以便拥有 JavaScript 的用户获得完整的体验,但您还想使用 jQuery UI类默认是因为你想要一些一致的主题(即使它不是 100% 完美)。

有关他们的 CSS 框架的更多信息,请查看http://jqueryui.com/docs/Theming/API

如果你想让它不使用 JavaScript,你必须有:

  1. 初始页面,回帖
  2. 服务器决定需要完成一个弹出窗口,使用包含所有相关对话框类集的对话框呈现视图。
  3. 用户单击弹出窗口上的按钮,执行另一个回发。
  4. 服务器在没有弹出窗口的情况下呈现视图。

它很丑,但是没有脚本你不能做动态 HTML,对吧......

于 2011-08-02T09:55:09.480 回答
3

我一直在 jQueryUI 之外使用 CSS;我发现它提供了更加一致的外观和感觉。

至于剩下的问题……什么?!

然后在 jQueryUI 设置对话框时删除该类

你打算如何在不启用 JavaScript 的情况下运行 jQueryUI(“设置对话框”)?如果您在没有 JavaScript 的情况下放置对话框,它将无法移动或关闭;你会被div屏幕中间的一个巨人困住。

于 2009-10-09T12:46:37.307 回答