jquery基礎學習二

對於動態加載到頁面的html元素,每次都須要從新綁定事件到這些元素javascript

插件livequery,後來經過javascript添加的元素都會被綁定到事件css

普通方法綁定單擊事件html

$(「a」).click(function(){java

//doSomethingjquery

 

})cookie

可是這樣經過js動態加載的內容中的超連接元素則不會綁定單擊事件閉包

 

 

$(‘a‘).livequery(‘click’,function(){jquery插件

 

//doSomething函數

})this

 

 

 

 

 

$(document).ready(function(){

                   $('li').livequery(function(){

 

                            //hover函數綁定over,out事件

$(this).hover(function()

         {$(this).addClass('hover');

                                               },function(){

                                                        $(this).removeClass('hover');

                                               });

 

                   },function(){

                            //解除綁定

                            $(this).unbind('mouseover')

                            .unbind('mouseout');

 

 

                   });

 

 

});

 

//加延遲防止單擊失效
<script type="text/javascript">
    $(function(){
        $('#myList').sortable({delay:1});
    });
</script>

//cookie
<script type="text/javascript">
    $(function(){
        var COOKIE_NAME='username';
        if($.cookie(COOKIE_NAME)){
            $('#username').val($.cookie(COOKIE_NAME));
        }

        $(#check).click(function(){
            if(this.checked){
                $.cookie(COOKIE_NAME,$('#username').val(),{path:'/',expires:10});
            }else{
                $.cookie(COOKIE_NAME,null,{path:'/'});
            }
        });
    });

</script>


/*封裝對象方法的插件 jQuery.fn.extend()
封裝全局函數的插件  jQuery.extend()
選擇器插件  jQuery.extend()


jquery.[插件名].js
全部對象的方法都應附加到jQuery.fn對象上
利用閉包的特性,既能夠避免內部臨時變量影響全局空間,又能夠在插件內部繼續使用$做爲jquery的別名
*/
//()做爲參數傳遞進去,供內部使用
(function() {})();;
(function($) {

    var foo;
    var bar = function() {

    }
    $.BAR = bar;

})(jQuery);


;
(function($) {
    //此處編寫jquery插件代碼

})(jQuery);
/*
jQuery提供了兩個用於擴展jquery的功能jQuery.fn.extend() jQuery.extend()


jQuery.extend()用一個或多個其餘對象來擴展一個對象,而後返回被擴展的對象
*/
var settings={validate:false,limit:5,name:"foo"};
var options={validate:false,name:"bar"};
var newOptions=jQuery.extend(settings,options);
console.log(newOptions);


jquery.color.js
 ;(function() {
        jQuery.fn.extend({
            "color": function(value) {
                return this.css('color', value);
            },
            "border":function(value){

            },
            "background":function(value){

            }

        });


//隔行變色

;(function($){
    $.fn.extend({
        "alterBgColor":function(options){
            //設置默認值
            options=$.extend({
                odd:"odd",
                even:"even",
                selected:"selected"
            },options);
            $('tbody>tr:odd',this).addClass(options.odd);
            $('tbody>tr:even',this).addClass(options.even);
            $('tbody>tr',this).click(function(){
                var hasSelected=$(this).hasClass(options.selected);
                $(this)[hasSelected?"removeClass":"addClass"](options.selected).find(':checkbox').attr('checked',!hasSelected);
            });
            $('tbody>tr:has(:checked)',this).addClass(options.selected);
            return this;

        }
    })
})

 


//封裝全局函數的插件,在jquery命名空間添加了一個函數
;(function($) {
    $.extend({
        ltrim: function(text){
            return (text || "").replace( /^\s+/g,"");
        },
        rtrim:function(text){
            return (text ||"").replace( /\s+$/g,"");
        }
    });
})(jQuery);

 

 

//jquery提供了一套方法讓用戶製做插件來使用自定義選擇器
//between
;(function($){
    $.$.extend(jQuery.expr[":"], {
        between:function(a,i,m){
            var tmp=m[3].split(",");
            return tmp[0]-0<i&&i<tmp[1]-0;
        }
    });
    
})(jQuery);

html放到http://validator.w3.org/

相關文章
相關標籤/搜索