jquery widget开发——核心框架


框架代码:

            $.widget("myns.myplugin", {
                //默认参数 
                options: {
                },
                //初始化,控件生命周期内只运行一次
                _init: function () {                 
                },
                //创建控件,控件生命周期内会运行多次 
                _create: function () {
                },
                //设置参数 
                _setOption: function (key, value) {
                    // In jQuery UI 1.8及以前用法 
                    $.Widget.prototype._setOption.apply(this, arguments);
                    // In jQuery UI 1.9及以后用法
                    this._super("_setOption", key, value);
                },
                // 释放控件
                destroy: function () {
                    // In jQuery UI 1.8及以前用法 
                    $.Widget.prototype.destroy.call(this);
                    // In jQuery UI 1.9及以后
} });

 开发要点,控件内部方法以下划线(_)开头。

以下来个简单和按钮监控,虽然这个不应该用JUI弄(简单JQ插件扩展就可以了),但还是可以看用JUI应该怎么写

控件代码:

  (function ($) {
            $.widget("myns.buttonMonitor", {
                //默认参数 
                options: {

                },
                //初始化,控件生命周期内只运行一次
                _init: function () {
                    var self = this;
                    $(self.element[0]).find('input:button').on('click', function (jevent) {
                        alert("已监测到你按下了"+jevent.target.value+"按钮!");
                    });
                },
                //创建控件,控件生命周期内会运行多次 
                _create: function () {
                },
                //设置参数 
                _setOption: function (key, value) {
                    // In jQuery UI 1.8及以前用法 
                    $.Widget.prototype._setOption.apply(this, arguments);
                    // In jQuery UI 1.9及以后用法
                    this._super("_setOption", key, value);
                },
                // 释放控件
                destroy: function () {
                    // In jQuery UI 1.8及以前用法 
                    $.Widget.prototype.destroy.call(this);
                    // In jQuery UI 1.9及以后
                }
            });
        })(jQuery);

  调到代码:

   $(function () {
            $('#maincontainer').buttonMonitor();//maincontainer为按钮的容器
        });

  效果可以看下

 http://jsfiddle.net/leez20120909/7vGUE/embedded/result/

效果源代码

http://jsfiddle.net/leez20120909/7vGUE/

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM