src/main/webapp/static/lib/jselect-1.0.js

(开头部分) 17KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*!
 * js模拟系统select v1.0
 * http://www.cnblogs.com/typeof/ 
 * 
 * 主流浏览器对html的select元素渲染都不一样,IE系列(6, 7, 8)也不一样,
 * firefox,chrome,safari,opera 渲染和事件处理也稍有差异
 * 该脚本解决了在不同浏览器下渲染和事件响应不一致的问题,对系统select是完全
 * 意义上的替换。v1.0版本只支持单个select选择即不支持二级或者三级联动且不支持系统select的onchange事件。
 * 该版本支持模拟select选择的数据和系统select选中数据的同步,不影响form表单的提交 
 *
 * 如果page上select有的不想通过该脚本替换,只想维持系统select,可以在相应的select元素添加自定义属性data-enabled="true",
 * 否则可以在想要通过该脚本替换的select元素上添加自定义属性data-enabled="false"或者不加,会默认为这个select需要
 * 通过该脚本进行替换
 *
 * 日期:2012-11-07 15:38
 */
(function(squid) {
    function JSelect() {
        this.init()
    } 

    JSelect.prototype = {
        constructor: JSelect,
        init: function(context) {
            //获取指定上下文所有select元素
            var elems = squid.getElementsByTagName('select', context)
            this.globalEvent()
            this.initView(elems)
        },
        initView: function(elems) {
            var i = 0,
                elem,
                length = elems.length,
                enabled;

            for(; i < length; i++) {
                elem = elems[i]
                enabled = elem.getAttribute('data-enabled')
                //使用系统select
                if(!enabled || enabled === 'true')
                    continue
                if(squid.isVisible(elem))
                    elem.style.display = 'none'
                
                this.create(elem)
            }
        },
        create: function(elem) {
            var data = [],
                i = 0,
                length,
                option,
                options,
                value,
                text,
                obj,
                lis,
                ul,
                _default,
                icon,
后面还有 441 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。