simulation select element,自定义 select 下拉列表
重造轮子,模拟select下拉列表,以便自定义样式。 以下为编写过程中的笔记,欢迎交流指导。
<link rel="stylesheet" href="./src/css/simulation-ui.css">
<script src='./src/simulationUI.js' charset='utf8'><script>
1.使用元素属性 data-ui="select-item" 定义列表
<div class="simulation-select" id="simSelect">
<span value="0" data-ui="select-item">Chrome</span>
<span value="1" data-ui="select-item">IE</span>
<span value="3" data-ui="select-item">Firefox</span>
<span value="4" data-ui="select-item">Opera</span>
</div>
<script>
new SimulationSelect({
el: '#simSelect'
})
</script>
2.使用自定义数据 data 定义列表
<div class="simulation-select" id="simSelect"></div>
<script>
new SimulationSelect({
el: '#simSelect',
data: ['Chrome', 'IE', 'Firefox', 'Opera']
})
</script>
Class SimulationSelect
var simSelect = new SimulationSelect(config)
参数 config,模拟下拉列表的配置对象
字符串或包含id,key的对象SimulationSelect 实例 simSelect
Property
config {Object} 配置信息el {Element} 模拟下拉列表的元素节点options {Array} 列表的item元素组成的数组集合
selectedIndex 当前所选item的下标value {String} 模拟列表的值selectedIndex 当前所选item的下标值Method
init() 初始化组件getUIItem() 返回通过声明式定义item的元素template() 返回模拟下拉列表的字符串模板render() 渲染字符串模板并插入DOMbindEvent() 绑定事件getIndex(element) 获取传入元素的下标Event新增自定义事件change,当item选项改变即触发该事件处理函数,与select类似
simSelect.addEventListener('change', function (e) {
// 事件处理函数
}, true)
https://developer.mozilla.org/zh-CN/docs/Web/API
MIT