重写jQuery函数
有没有办法覆盖jQuery的核心function? 说我想添加一个警告(this.length)的大小:function()而不是在源代码中添加它
size: function() { alert(this.length) return this.length; }, 我想知道是否可以做这样的事情:
 if (console) { console.log("Size of div = " + $("div").size()); var oSize = jQuery.fn.size; jQuery.fn.size = function() { alert(this.length); // Now go back to jQuery's original size() return oSize(this); } console.log("Size of div = " + $("div").size()); } 
	
 你几乎已经拥有了它,你需要在旧函数中将this引用设置为覆盖函数中的引用,如下所示: 
 var oSize = jQuery.fn.size; jQuery.fn.size = function() { alert(this.length); // Now go back to jQuery's original size() return oSize.apply(this, arguments); }; 
 这个工作的方式是Function实例有一个叫做apply的方法,其目的是任意地覆盖函数体内部的this引用。 
所以,举个例子:
 var f = function() { console.log(this); } f.apply("Hello World", null); //prints "Hello World" to the console 
你可以通过在一个单独的文件中原型化来覆盖插件方法,而无需修改原始源文件,如下所示:
 (function ($) { $.ui.draggable.prototype._mouseDrag = function(event, noPropagation) { // Your Code }, $.ui.resizable.prototype._mouseDrag = function(event) { // Your code } }(jQuery)); 
现在把你的逻辑放在这里,或者把你的新想法放在你的项目中。