成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五個(gè)罕見的 JavaScript 原生 API

開發(fā) 前端
本文帶來5個(gè)難得一見的JavaScriot原生API,為我們的前端開發(fā)帶來意想不到的便利。

本文帶來5個(gè)難得一見的JavaScriot原生API,為我們的前端開發(fā)帶來意想不到的便利。

1. getBoundingClientRect()

Element.getBoundingClientRect() 方法返回一個(gè) DOMRect 對(duì)象,該對(duì)象提供有關(guān)元素大小及其相對(duì)于視口的位置的信息。

domRect = element.getBoundingClientRect();

返回左、上、右、下、x、y、寬度和高度元素的值。

圖片

例如,獲取DOM元素相對(duì)于頁面左上角的top和left定位距離的值。

const h3 = document.querySelector("h3");
const rect = h3.getBoundingClientRect();
const topElement = document.documentElement;


const positionTop = topElement.scrollTop + rect.top;
const positionLeft = topElement.scrollLeft + rect.left;

2. window.getComputedStyle() 

window.getComputedStyle() 方法返回一個(gè) CSSStyleDeclaration 對(duì)象,其類型與樣式屬性相同,其中包含元素的計(jì)算樣式。

document.defaultView.getComputedStyle(element, [pseudo-element])
// or
window.getComputedStyle(element, [pseudo-element])

它有兩個(gè)參數(shù),第一個(gè)是計(jì)算樣式的元素,第二個(gè)是偽元素;如果偽元素不存在,則傳遞 null。

例子:

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#root {
background-color: pink;
width: 100px;
height: 200px;
}
#root::after {
content: 'Haskell';
display: table;
clear: both;
}
</style>
</head>
<body>
<div id="root" style="background-color: rgb(135, 206, 235);"></div>
</body>
<script>
function getStyleByAttr(node, name) {
return window.getComputedStyle(node, null)[name]
}
const node = document.getElementById('root')
// rgb(135, 206, 235)
console.log(getStyleByAttr(node, 'backgroundColor'))
// 100px
console.log(getStyleByAttr(node, 'width'))
// 200px
console.log(getStyleByAttr(node, 'height'))
// table
console.log(window.getComputedStyle(node, '::after').display)
// Haskell
console.log(window.getComputedStyle(node, '::after').content)
</script>
</html>

3. once: true

once: true 不是 API,看起來也不像。用于屬性配置,有了它,lodash的once就不用了。

const container = document.querySelector<HTMLDivElement>('.container');


container?.addEventListener('click', () => {
console.log('I will only do it once !')
}, {
// After configuring once, it will be called at most once
once: true
})

4. getModifierState()

如果指定的修改鍵被按下或激活,則 getModifierState() 方法返回 true。

例如,我們可以使用它來監(jiān)聽用戶在打字時(shí)是否按下了尺寸切換鍵,然后根據(jù)情況給出適當(dāng)?shù)奶崾尽?/p>

<input type="text" size="40" onkeydown="myFunction(event)">


<p id="demo"></p>


<script>
function myFunction(event) {
var x = event.getModifierState("CapsLock");
document.getElementById("demo").innerHTML = "Caps Lock: " + x;
}
</script>

5.clipboard.readText()

clipboard,我敢肯定,是一個(gè)常用的功能。

要從剪貼板中讀取文本,請(qǐng)調(diào)用 navigator.clipboard.readText() 并等待返回的 Promise 進(jìn)行解析。

async function getClipboardContents() {
try {
const text = await navigator.clipboard.readText();
console.log('Pasted content: ', text);
} catch (err) {
console.error('Failed to read clipboard contents: ', err);
}
}

要將文本復(fù)制到剪貼板,只需調(diào)用 writeText()。

async function copyPageUrl() {
try {
await navigator.clipboard.writeText(location.href);
console.log('Page URL copied to clipboard');
} catch (err) {
console.error('Failed to copy: ', err);
}
}

總結(jié)

以上就是我今天想與你分享的5個(gè)關(guān)于JavaScript原生的API的知識(shí)內(nèi)容,希望這些內(nèi)容對(duì)你有所幫助。

責(zé)任編輯:華軒 來源: web前端開發(fā)
相關(guān)推薦

2021-08-30 09:08:31

云數(shù)據(jù)庫JavaScriptSDK

2021-08-13 06:22:55

云原生安全云原生云安全

2020-09-01 07:58:34

API漏洞黑客

2023-12-19 13:30:00

JavaScrip原生API函數(shù)

2021-12-30 21:51:10

JavaScript開發(fā)內(nèi)存

2023-08-18 15:12:00

JavaScript開發(fā)

2021-06-16 15:04:06

JavaScript內(nèi)存開發(fā)

2022-01-17 21:37:24

JavaScriptHTMLCSS

2022-05-13 14:28:03

云原生權(quán)限云原生

2022-07-12 10:18:05

JavaScript單行代碼

2022-07-28 08:51:17

應(yīng)用程序接口APICIO

2023-02-03 17:29:46

2016-03-03 14:29:15

2022-07-08 09:53:51

JavaScript單行代碼

2021-10-09 07:10:31

JavaScript對(duì)象Python

2022-02-07 08:41:42

云原生Kubernetes

2011-11-18 09:28:17

地理位置API

2024-04-23 08:16:21

2021-02-05 08:18:29

JavaScript開發(fā)代碼

2021-12-06 10:40:01

One-Liner代碼前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 操亚洲| 亚洲天堂一区 | 欧美日韩不卡合集视频 | 国产精品国产成人国产三级 | 欧美日本在线观看 | ww 255hh 在线观看 | 日韩国产中文字幕 | 国产成都精品91一区二区三 | 亚洲欧美视频一区 | 91超碰在线| 欧美性高潮| www.国产精 | 日韩电影中文字幕 | av一区二区三区四区 | 午夜男人天堂 | 国产激情免费视频 | 午夜视频网站 | 精品伦精品一区二区三区视频 | 亚洲天堂二区 | 老司机成人在线 | 中文字幕在线观看 | 精品视频国产 | 久久精品久久久久久 | 亚洲国产成人精品女人久久久野战 | 欧美涩涩网 | 亚洲最大av | www.色.com| 精品av天堂毛片久久久借种 | 精品综合视频 | 亚洲国产成人精品女人久久久 | 国产精品久久国产精品 | 国产精品欧美一区二区三区不卡 | 亚洲午夜电影 | 美女久久久久久久久 | 精品久久久一区 | 亚洲精品九九 | 天天躁日日躁xxxxaaaa | 精品国产一二三区 | 欧美成人影院在线 | 国产成人精品999在线观看 | 极品销魂美女一区二区 |