更简单风险/selectize.js

Selectize 是一个文本框和 <select> 框的混合体。它基于 jQuery,具有自动完成和原生感觉的键盘导航功能;适用于标签、联系人列表等。从 selectize/selectize.js 分支,用于与 Composer 一起使用。

资助包维护!
risadams

安装量: 1,637

依赖项: 0

建议者: 0

安全性: 0

星标: 0

观察者: 1

分支: 3,580

语言:JavaScript

dev-master 2022-09-16 19:12 UTC

This package is auto-updated.

Last update: 2024-09-16 23:27:48 UTC


README

Selectize.js

→ Selectize 正在寻找 维护团队的新成员

NPM version CDNJS version
Node.js CI Coverage Status
Discussion & Help

Selectize 是一个可扩展的基于 jQuery 的自定义 <select> UI 控件。它适用于标签、联系人列表、国家选择器等。其大小约为 ~7kb(压缩后)。目标是提供清晰且功能强大的 API,以提供可靠的体验。

功能

  • 智能选项搜索/排名 选项将根据 sifter(使用 sifter)实时评分和排序。想要搜索项目的标题 描述?没问题。
  • 项目间的光标 有时顺序很重要。使用 光标键在选定项目之间移动。
  • 一次选择并删除多个项目 在 Mac 上按住 option 或在 Windows 上按住 ctrl 来选择多个项目进行删除。
  • 支持重音符号 非常适合国际环境。
  • 项目创建 允许用户即时创建项目(支持异步保存;控件将在回调函数执行之前锁定)。
  • 远程数据加载 当你有成千上万的选项,并希望它们在用户键入时由服务器提供时使用。
  • 干净的 API 和代码 与其交互并轻松修改。欢迎拉取请求!
  • 可扩展性 插件 API 用于开发自定义功能(使用 microplugin)。
  • 触摸支持 与 iOS 5+ 设备兼容。

依赖项

  • jquery (1.7 及更高版本),作为 依赖项
    • 注意:它会在开发中自动安装,或者在使用 NPM 1 或 2 的项目中安装。从版本 3 开始使用 NPM 时,只会抛出一个警告,用户需要在自己的项目中手动安装显式版本(例如 npm install --save jquery@3.5.1)。
  • sifter(包含在 "standalone" 构建中
  • microplugin(包含在 "standalone" 构建中

可选

安装

Selectize 可以通过 NPM npm install @selectize/selectize 安装

手动安装

所有用于Selectize的预构建文件都可以在"dist"文件夹中找到。

如果您想以最少的麻烦开始使用,请包含standalone/selectize.min.js(包含Sifter和Microplugin依赖项 - 也提供未压缩版本用于调试,只需删除.min部分)和css/selectize.default.css

Selectize可在cdnjs找到。

用法

$("select").selectize(options);

可用选项在此文档中有记录。

IE8 支持

为了支持Internet Explorer 8,必须在您的页面中添加es5-shim

<!--[if lt IE 9
  ]><script src="http://cdnjs.cloudflare.com/ajax/libs/es5-shim/2.0.8/es5-shim.min.js"></script
><![endif]-->

自定义构建

默认情况下,所有插件都被包含。要手动选择要包含的插件(如果有的话),请使用带有"--plugins"标志的grunt运行。完成后,从"dist"文件夹中获取所需的文件。

# dependencies
npm install

# build selectize
grunt --plugins=
grunt --plugins=*
grunt --plugins=remove_button,restore_on_backspace

贡献

当发起拉取请求时

  • 不要在dist/文件夹中包含/提交更改,以避免合并冲突。正确包含文件的好方法是使用git guigit add在提交时选择要添加到提交的文件。

  • 请将测试与您的功能一起包含,这样我们才不会在将来诱使破坏它!

在CHANGELOG顶部添加一条记录,并根据需要更新docs/中的文档。(重构和文档更改不需要变更日志条目。)

将您的提交合并成一个或几个完整、逻辑上的提交,并附上简洁且描述性的消息。一个提交意味着一个功能/错误修正/已更改的事物,或者一个diff将代码向前推进到更好、更工作的状态。

一旦您的提交非常干净,并且您想丢弃其他更改,您可以使用git checkout .(这将删除已跟踪文件的更改)和git clean [-i/--interactive](用于删除未跟踪文件)。然而,请注意这些命令,因为它们的功能是删除事物/更改。

测试

请确保所有测试都通过

npm test # phantomjs
BROWSERS=Firefox npm test
BROWSERS=Firefox,Chrome npm test
BROWSERS=Firefox,Chrome,Safari npm test

本地环境

要在本地运行Selectize

npm start

然后您可以在https://:4000/examples/中运行示例。

然而,请注意不要将dist/文件添加到您的提交中,因为Grunt会根据源代码的变化自动重新生成dist/中的文件。

许可协议

版权所有 © 2013–2016 Brian Reavis贡献者
版权所有 © 2020-2022 Selectize Team 及 贡献者

根据Apache License,版本2.0(“许可”)许可;除非符合许可条款,否则不得使用此文件。您可以在以下位置获取许可副本:https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可下分发的软件按“原样”基础分发,不提供任何形式的保证或条件,无论是明示的还是暗示的。请参阅许可协议,了解具体语言规范许可和限制。