W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
可創(chuàng)建一個新的jQuery副本,不影響原有的jQuery對像。
有兩個具體使用jQuery.sub()創(chuàng)建案例。首先是提供完全沒有破壞jQuery原有一切的方法,另一個用于幫助做jQuery插件封裝和基本命名空間。
請注意,jQuery.sub()不會做任何特殊的隔離 - 這不是它的意圖。所有關于jQuery的sub'd版本的方法將仍然指向原來的jQuery。(綁定和觸發(fā)仍將通過主jQuery的事件,數(shù)據(jù)將通過主綁定的元素的jQuery,Ajax的查詢和活動將通過主jQuery的運行,等等)。
請注意,如果你正在尋找使用這個開發(fā)插件,應首先認真考慮使用一些類似jQuery UI widget工廠,這兩個狀態(tài)和插件管理子方法。?使用jQuery UI widget的一些例子建立一個插件。
這種方法的具體使用情況下可以通過一些例子最好的描述。
添加一個jQuery的方法,以便它不會受到外部分:
(function(){
var sub$ = jQuery.sub();
sub$.fn.myCustomMethod = function(){
return 'just for me';
};
sub$(document).ready(function() {
sub$('body').myCustomMethod() // 'just for me'
});
})();
typeof jQuery('body').myCustomMethod // undefined
改寫一些jQuery的方法,以提供新的功能。
(function() {
var myjQuery = jQuery.sub();
myjQuery.fn.remove = function() {
// New functionality: Trigger a remove event
this.trigger("remove");
// Be sure to call the original jQuery remove method
return jQuery.fn.remove.apply( this, arguments );
};
myjQuery(function($) {
$(".menu").click(function() {
$(this).find(".submenu").remove();
});
// A new remove event is now triggered from this copy of jQuery
$(document).bind("remove", function(e) {
$(e.target).parent().hide();
});
});
})();
// Regular jQuery doesn't trigger a remove event when removing an element
// This functionality is only contained within the modified 'myjQuery'.
創(chuàng)建一個插件,它返回插件的具體辦法。
(function() {
// Create a new copy of jQuery using sub()
var plugin = jQuery.sub();
// Extend that copy with the new plugin methods
plugin.fn.extend({
open: function() {
return this.show();
},
close: function() {
return this.hide();
}
});
// Add our plugin to the original jQuery
jQuery.fn.myplugin = function() {
this.addClass("plugin");
// Make sure our plugin returns our special plugin version of jQuery
return plugin( this );
};
})();
$(document).ready(function() {
// Call the plugin, open method now exists
$('#main').myplugin().open();
// Note: Calling just $("#main").open() won't work as open doesn't exist!
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: