摘要:利用來(lái)封裝,上面的示例只是簡(jiǎn)單的封裝,并沒(méi)有實(shí)現(xiàn)兼容性的寫法,比如對(duì)于的處理。簡(jiǎn)單的封裝一下,就可以愉快的寫東西啦。
有時(shí)候在寫一些練習(xí)或者小的項(xiàng)目時(shí),我們可能只想用用jquery的$選擇器,好用的hide、show等等一些基礎(chǔ)的API,那么我們又不想因?yàn)檫@么幾個(gè)API來(lái)引入一個(gè)jquery的js文件,那么自己封裝一個(gè)最好不過(guò)了。
</>復(fù)制代碼
(function (document) {
function DomObject(dom) {
this.dom = dom;
}
function $(selector) {
return new DomObject(document.querySelector(selector));
}
DomObject.prototype.get = function () {
return this.dom;
}
DomObject.prototype.on = function(eventName, eventHandler) {
this.get().addEventListener(eventName, eventHandler);
return this;
}
DomObject.prototype.css = function(styleKey, styleValue) {
this.get().style[styleKey] = styleValue;
return this;
};
DomObject.prototype.hide = function() {
this.get().style.display = "none";
return this;
};
DomObject.prototype.show = function() {
this.get().style.display = "block";
return this;
}
$(".main #btn-hide").on("click", function() {
$("h2").hide();
});
$(".container #btn-show").on("click", function() {
$("h2").show().css("color","red");
});
})(document);
首先創(chuàng)建一個(gè)構(gòu)造函數(shù),傳入一個(gè)dom對(duì)象作為參數(shù),在構(gòu)造函數(shù)的原型對(duì)象上就可以綁定各種事件,比如on,show甚至是jquery中沒(méi)有的css等等,如果想實(shí)現(xiàn)鏈?zhǔn)秸{(diào)用,即返回this對(duì)象即可。利用querySelector來(lái)封裝$,上面的示例只是簡(jiǎn)單的封裝,并沒(méi)有實(shí)現(xiàn)兼容性的寫法,比如on對(duì)于IE的處理。事件偵聽可以更加豐富:通用的事件偵聽器只是對(duì)于jquery的實(shí)現(xiàn)原理進(jìn)行的簡(jiǎn)單的模擬。
簡(jiǎn)單的封裝一下,就可以愉快的寫東西啦。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/81451.html
摘要:也就是我們常見的瀏覽器以及內(nèi)置瀏覽器,比如微信打開的大型移動(dòng)端網(wǎng)頁(yè)。這個(gè)以微信小程序?yàn)槔饕俏⑿艌F(tuán)隊(duì)基于前端基礎(chǔ)來(lái)做的封裝語(yǔ)法,主要的還是語(yǔ)法。學(xué)習(xí)路線放一下給大家。前端開發(fā)學(xué)習(xí)不是單一的,內(nèi)容比較多,同樣應(yīng)用的場(chǎng)景也非常多。 近兩年來(lái),前端開發(fā)工程師越來(lái)越火了,2019年已經(jīng)到來(lái)了,很多準(zhǔn)備入行前端開發(fā)工程師的小伙伴們,不知道準(zhǔn)備得怎么樣了呢?有的朋友在想方設(shè)法的學(xué)習(xí),爭(zhēng)取在年后...
摘要:也就是我們常見的瀏覽器以及內(nèi)置瀏覽器,比如微信打開的大型移動(dòng)端網(wǎng)頁(yè)。這個(gè)以微信小程序?yàn)槔饕俏⑿艌F(tuán)隊(duì)基于前端基礎(chǔ)來(lái)做的封裝語(yǔ)法,主要的還是語(yǔ)法。學(xué)習(xí)路線放一下給大家。前端開發(fā)學(xué)習(xí)不是單一的,內(nèi)容比較多,同樣應(yīng)用的場(chǎng)景也非常多。 近兩年來(lái),前端開發(fā)工程師越來(lái)越火了,2019年已經(jīng)到來(lái)了,很多準(zhǔn)備入行前端開發(fā)工程師的小伙伴們,不知道準(zhǔn)備得怎么樣了呢?有的朋友在想方設(shè)法的學(xué)習(xí),爭(zhēng)取在年后...
摘要:也就是我們常見的瀏覽器以及內(nèi)置瀏覽器,比如微信打開的大型移動(dòng)端網(wǎng)頁(yè)。這個(gè)以微信小程序?yàn)槔饕俏⑿艌F(tuán)隊(duì)基于前端基礎(chǔ)來(lái)做的封裝語(yǔ)法,主要的還是語(yǔ)法。學(xué)習(xí)路線放一下給大家。前端開發(fā)學(xué)習(xí)不是單一的,內(nèi)容比較多,同樣應(yīng)用的場(chǎng)景也非常多。 近兩年來(lái),前端開發(fā)工程師越來(lái)越火了,2019年已經(jīng)到來(lái)了,很多準(zhǔn)備入行前端開發(fā)工程師的小伙伴們,不知道準(zhǔn)備得怎么樣了呢?有的朋友在想方設(shè)法的學(xué)習(xí),爭(zhēng)取在年后...
摘要:注本文摘自司徒正美編著的框架設(shè)計(jì)一書。如果是從內(nèi)部架構(gòu)與理念劃分,目前框架可以劃分為類。第種就是具有明確分層架構(gòu)的框架。類型的判定必不可少,常見形式是系列。選擇器是現(xiàn)代框架的標(biāo)配。許多框架非常重視操作。 注:本文摘自司徒正美編著的《JavaScript框架設(shè)計(jì)》一書。 如果是從內(nèi)部架構(gòu)與理念劃分,目前JavaScript框架可以劃分為5類。 第1種 出現(xiàn)的是以命名空間為導(dǎo)...
閱讀 1900·2021-11-23 09:51
閱讀 1544·2021-11-19 09:40
閱讀 3216·2021-11-11 11:01
閱讀 1116·2021-09-27 13:34
閱讀 1845·2021-09-22 15:56
閱讀 2131·2019-08-30 15:52
閱讀 1070·2019-08-30 14:13
閱讀 3482·2019-08-30 14:10
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要