【问题标题】:What is the best form element styling library/plug-in (jQuery)? [closed]什么是最好的表单元素样式库/插件(jQuery)? [关闭]
【发布时间】:2012-07-23 08:38:17
【问题描述】:

在我目前正在处理的项目中,表单元素(如<input><select><textarea> 等) 必须具有非标准的“外观”。

您可以为此推荐哪个库或插件 (jQuery)?

我已经搜索了一些可用的库,但没有找到适合我需要的库。它们背后都有“真实”-“假”元素的想法。 该项目有许多即时创建并注入到 DOM 中的表单元素。

主要要求是:

  • 即时创建“假”元素。
  • 能够为一个节点或 CSS 选择器(不是整个页面)应用样式。
  • 假元素和真实元素之间的非侵入式事件传播。 (假元素应该响应真实元素的变化并将其上发生的事件发送到相应的真实元素 像模糊、聚焦、改变、点击。库应该关注事件传播,而不是代码)
  • 应该兼容 IE7 及更高版本。
  • 应该有良好的文档和灵活的公共 API

我在一个库上苦苦挣扎,几乎“适应”了它的要求,但它缺乏文档并且许可不清楚 至于能不能修改。

非常感谢您的帮助!

亲切的问候。

【问题讨论】:

  • 您可以使用 CSS 设置表单元素的样式...

标签: javascript jquery css forms styles


【解决方案1】:

你可以看到这个!

http://twitter.github.com/bootstrap/base-css.html#forms

Bootstrap 有非常实用的东西可以帮助你!!

【讨论】:

  • 该死,你比我快 2 秒。 :)
【解决方案2】:

你可以看看Twitter Bootstrap。我相信它使用 CSS 来执行它的大部分技巧,因此您不需要委托组件的概念(真/假)来获得更精致的外观和感觉。

【讨论】:

【解决方案3】:

我真的很喜欢jQtransform:你只需要包含 jQuery 库和插件 jqtransform

//required
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.jqtransform.min.js"></script>

然后将转换应用到所有表单

<script type="text/javascript">
$(function() {
    //find all form with class jqtransform and apply the plugin
    $("form").jqTransform();
});
</script>

或特定形式

<script type="text/javascript">
$(function() {
    //find all form with class jqtransform and apply the plugin
    $("form.jqtransform").jqTransform();
});
</script>

【讨论】:

    【解决方案4】:

    如果您只想设置输入、选择和文本区域的样式,您实际上并不需要 javascript 来做到这一点。使用普通的 css(更改边框、颜色、背景、圆角等)很容易做到这一点。只有较旧的 (IE) 浏览器无法在您的(表单)元素上使用圆角。

    如果您还希望能够为选择元素的下拉菜单设置样式,则可能需要 javascript,因为这在 CSS 中不起作用。

    从我查看的所有现有库中,我发现 jqTransform 最容易使用(如前所述),因为它为表单元素提供了“最干净”的 HTML 替换。这些都很容易用 css 设置样式。

    但是,我对 jqTransform 有一些问题。对于初学者来说,它包含一个错误,导致选择元素上的 onchance 事件不触发,而且它没有销毁/刷新选项。因此,您将无法对以已样式化的形式注入的新元素进行样式化。对于这两个问题,我创建了解决方法以使其正常工作。我找到了 onchange 事件的修复(stackoverflow 上的某处),我还编写了一个额外的函数来刷新 jqTransform 元素。

    但是,由于这些问题以及 jqTransform 自 2009 年以来没有更新的事实,我在大约一个月前决定编写自己的 jQuery 插件来为我处理此功能。

    它被称为“jQuery Mighty Form Styler”,它应该可以在 jQuery 1.7 及更高版本中正常工作。此时它只对 select 元素进行样式设置,因为其他表单元素可以使用 css 设置样式。那么,为什么要使用不必要的 javascript 为您的页面添加加载时间呢?我也计划添加单选框和复选框,因为仅使用 css 对它们进行样式设置并不那么容易(并且在很多浏览器中都可以使用)。

    它已经具有刷新和销毁功能,以删除虚假元素或刷新虚假元素的内容。

    您可以在http://www.binkje.nl/mfs 获得它,您还可以在其中找到文档。每个人都可以免费使用。尽管我确实相信您不应该使用 javascript 来设置任何样式。这是你应该只用 CSS 做的事情。

    【讨论】:

      【解决方案5】:

      您可能想查看这些(2014 年 2 月):

      uniformjs.com - 表单元素样式(IE7+、chrome、safari、firefox)

      github.com/emblematiq/Niceforms - 表单元素样式 - (也许?)听起来很冒险,因为没有社区,只有一个提交者(IE7+、Firefox2+、Safari3+、Opera9+、Chrome0.3+)

      github.com/harvesthq/chosenharvesthq.github.io/chosen - 表单选择/下拉框

      ivaynberg.github.io/select2 - 下拉框(IE8+),似乎源自 Chosen.js(需仔细检查)

      github.com/Robdel12/DropKickrobdel12.github.io/DropKick - 表单选择/下拉框

      github.com/gfranko/jQuery.selectBoxIt.js - 表单选择/下拉框

      brianreavis.github.io/selectize.jsgithub.com/brianreavis/selectize.js - 文本框和框的混合体 - 可用于标记、联系人列表、国家/地区选择器等

      arthurgouveia.com/prettyCheckable - 表单复选框和单选按钮样式(IE7+、Chrome、Firefox、Safari 和移动浏览器)

      http://xoxco.com/projects/code/tagsinput/https://github.com/xoxco/jQuery-Tags-Input - 标签

      Twitter Bootstrap 也可能是一个不错的选择 - Use the Customizer 只加载您需要的库部分,阅读更多关于 customizing Twitter bootstrap components

      【讨论】:

        【解决方案6】:

        如果您正在寻找适用于桌面网络和移动设备的样式 - 一种响应式解决方案 - 请查看 Mobiscroll Forms

        它附带 13 个独特的控件,从文本输入到警报、通知和可自定义的滑块。您的基本表单需求和其他需求都应该得到保障。

        需要注意的另一件事是,可以使用内置主题(适用于 iOS、Material、Windows、Web)为元素设置样式,当然还可以使用上面的 CSS。

        【讨论】:

          猜你喜欢
          • 2010-09-20
          • 1970-01-01
          • 1970-01-01
          • 2011-05-08
          • 2012-07-01
          • 2011-04-07
          • 2010-10-05
          • 1970-01-01
          • 2011-07-01
          相关资源
          最近更新 更多