我目前正在开发一个元素,该元素使用 Dropkick.js 插件来设置选择框的样式。我们遇到的一个问题是 dropkick,虽然它看起来不错,但根本没有反射(reflect)选择框的方法、属性和事件。
我不得不写很多额外的代码来禁用/启用选择、获取和设置值以及许多其他的东西来让选择与站点的其余部分一起玩并与其他表单元素交互.
所以我们转而测试selectBox。 Fantasic 插件有一个异常(exception):如果您通过 ajax 和 jQuery 删除/添加页面选择,它会破坏页面中每个选择的设置。这导致到处都是无法使用的选择和 JS 错误。由于我们正在制作大量动态内容,因此这也行不通。
是否有一个好的选择插件可以公开选择框的所有方法和属性,可以很好地设计样式,并且可以处理动态内容?
感谢您的建议!
最佳答案
以下是我知道的几个选项(排名不分先后):
样式选择
包装现有的 <select>
标记,因此所有事件、属性等都应保持可访问。默认样式虽然不是很好,但可以自定义的程度有限。
选择
不错的默认样式,但生成的标记有点奇怪,它不支持您可能需要的所有回调(仅 change
)
jQuery UI 选择框
如果您已经在使用 jQuery UI,这是一个不错的选择 - 否则可能会产生过多的开销。它不使用 <select>
的事件,但具有等效的回调(甚至在常规提交中不存在的回调,如 open
/close
)。也是ARIA合规。
j样式
再次包装原始的 <select>
标签。支持disabled
选项。默认样式相当乏味,它的设计目的不仅仅是选择框(可能不需要的垃圾)。
制服
实现简单,支持多主题。虽然缺乏回调,但有时不得不强制update
元素(已经提到)涵盖的不仅仅是选择框(同样,可能不需要的东西)。
关于jquery - 我需要一个可靠的 jQuery/CSS 选择框插件的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153807/