更简单风险 / selectize.js
Selectize 是一个文本框和 <select> 框的混合体。它基于 jQuery,具有自动完成和原生感觉的键盘导航功能;适用于标签、联系人列表等。从 selectize/selectize.js 分支,用于与 Composer 一起使用。
This package is auto-updated.
Last update: 2024-09-16 23:27:48 UTC
README
→ Selectize 正在寻找 维护团队的新成员!
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
)。
- 注意:它会在开发中自动安装,或者在使用 NPM 1 或 2 的项目中安装。从版本 3 开始使用 NPM 时,只会抛出一个警告,用户需要在自己的项目中手动安装显式版本(例如
- sifter(包含在 "standalone" 构建中)
- microplugin(包含在 "standalone" 构建中)
可选
- jquery-ui(由
drag_drop
插件需要)
安装
Selectize 可以通过 NPM npm install @selectize/selectize
安装
手动安装
所有用于Selectize的预构建文件都可以在"dist"文件夹中找到。
如果您想以最少的麻烦开始使用,请包含standalone/selectize.min.js
(包含Sifter和Microplugin依赖项 - 也提供未压缩版本用于调试,只需删除.min
部分)和css/selectize.default.css
。
Selectize可在cdnjs找到。
- js/
- standalone/
- selectize.js — 带有依赖项,不包含jquery
- selectize.js — 不带依赖项
- standalone/
- scss/
- selectize.scss — 核心样式
- selectize.default.less — 默认主题
- selectize.bootstrap3.scss - Bootstrap 3主题
- selectize.bootstrap4.scss - Bootstrap 4主题
- selectize.bootstrap5.scss - Bootstrap 5主题
- plugins/ — 单个插件样式
- less/
- selectize.less — 核心样式
- selectize.default.less — 默认主题
- selectize.bootstrap2.less — Bootstrap 2主题
- selectize.bootstrap3.less — Bootstrap 3主题
- plugins/ — 单个插件样式
- css/
- selectize.css — 核心样式
- selectize.default.css — 默认主题(包含核心样式)
- selectize.bootstrap2.css - Bootstrap 2主题
- selectize.bootstrap3.css - Bootstrap 3主题
- selectize.bootstrap4.css - Bootstrap 4主题
- selectize.bootstrap5.css - Bootstrap 5主题
用法
$("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 gui
或git 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
除非适用法律要求或书面同意,否则在许可下分发的软件按“原样”基础分发,不提供任何形式的保证或条件,无论是明示的还是暗示的。请参阅许可协议,了解具体语言规范许可和限制。