天, 我們來聊一聊 HTML 中 target 屬性的精彩應用。 target 屬性可讓你控制鏈接 opening 的位置: 在當前窗口/標簽頁、新窗口/標簽頁中,或在框架/ifram 中。
target 屬性是 HTML a 元素和 form 元素的屬性。 它規定鏈接 URL 應該在何處顯示: 在當前瀏覽器窗口、新選項卡/窗口中,或嵌入到 frameset 中的框架中。
下面是 target 屬性可接受的值:
如果你希望在新選項卡/窗口中打開鏈接,請使用 target="_blank":
<a href="https://www.example.com/" target="_blank">點擊打開新選項卡</a>
如果你有一個 PDF 文件,并希望在新窗口中打開它,可以使用 target="_blank":
<a href="https://www.example.com/document.pdf" target="_blank">點擊打開新窗口中的 PDF 文件</a>
如果你有一個大圖片,并希望在新選項卡中打開它,請使用 target="_blank":
<a href="https://www.example.com/image.jpg" target="_blank">
<img src="https://www.example.com/image-thumbnail.jpg" alt="Image thumbnail">
</a>
如果你有一個搜索表單,并希望在新選項卡中打開搜索結果,請使用 target="_blank":
<form target="_blank" action="https://www.google.com/search" method="get">
<input type="text" name="q" placeholder="輸入搜索關鍵字">
<input type="submit" value="搜索">
</form>
如果你有一個框架集,并希望在父框架中打開鏈接,請使用 target="_parent":
<frameset rows="50%,50%">
<frame name="top-frame" src="top-frame.html">
<frame name="bottom-frame" src="bottom-frame.html" target="_parent">
</frameset>
如果你有一個框架集,并希望在整個瀏覽器窗口中打開鏈接,請使用 target="_top":
每次觸發DOM事件時會產生一個事件對象(也稱event對象), 此處的參數e接收事件對象。
而事件對象也有很多屬性和方法, 其中target屬性是獲取觸發事件對象的目標, 也就是綁定事件的元素, e.target表示該DOM元素, 然后在獲取其相應的屬性值。
js中事件是會冒泡的, 所以this是可以變化的, 但event.target不會變化, 它永遠是直接接受事件的目標DOM元素;
.this和event.target都是dom對象
e.target的用法
target定義:
target 屬性規定哪個 DOM 元素觸發了該事件。
target 事件屬性可返回事件的目標節點(觸發該事件的節點),如生成事件的元素、文檔或窗口。
語法:
event.target
event.target.nodeName //獲取事件觸發元素標簽名(li,p,div,img,button…)
event.target.id //獲取事件觸發元素id
event.target.className //獲取事件觸發元素classname
event.target.innerHTML //獲取事件觸發元素的內容(li)
this會冒泡, e.target不冒泡就是指向事件觸發的dom。
Rust 編程語言中,target 目錄是由 Cargo(Rust 的包管理和構建工具)自動生成的。它主要用于存放構建輸出的產物文件和相關的編譯期產生的中間文件等。但是 target 目錄往往會非常大,即使一個簡單的 hello world 程序,就已經達到 9 MB 了。
可能一個比較簡單的項目,會達到 1 GB 多。甚至有些網友調侃——如果電腦硬盤太小,可能學不了 Rust。
另外當電腦中的 Rust 項目太多時,無法管理 target 目錄。其實我們可以指定所有項目統一的 target 目錄。下面將以 Windows 操作系統為例演示。
首先在 C:\Users\用戶名\.cargo\ 目錄下,找到 config.toml 文件。如果在該目錄下沒有 config.toml 文件,則需要創建該文件。如下圖所示:
注意:config 文件也有可能沒有擴展名,如 config,又或者是其它擴展名,如 config.txt,配置文件的擴展名不重要,重要的是文件名稱必須是 config。
在文件中添加下面的配置信息:
[build]
target-dir = "D:/my-target"
上面的配置是指定所有項目的統一 target 目錄為 D:/my-target。如下圖:
我們再次編譯項目,查看項目根目錄和 D:/my-target 目錄,如下圖:
可以看到,在項目的工程目錄已經沒有 target 目錄,真正的 target 目錄已經被我們指定為 D:/my-target 目錄了。
下面是一個簡單項目的 target 目錄,讓我們看下它會包含什么呢?
target 目錄包含以下幾個子目錄和文件:
target/debug:
target/release:
target/doc:
target/.fingerprint:
target/package:
其他臨時文件和目錄:
統一存放 target 文件既有優點也有缺點:
優點
緩存復用:
如果多個項目使用相同的依賴庫,通過指定一個共享的 target 目錄,可以復用編譯緩存,減少重復編譯的時間,大幅提升構建效率。
管理方便:
通過將編譯輸出集中到一個特定目錄,可以更方便地管理和清理編譯輸出文件。當 Rust 項目過多時,我們可以隨時清理 target 文件。
缺點
多個項目共享同一個 target 目錄可能會因為不同的依賴版本而產生沖突,當遇到沖突時需要及時清理 target 目錄。
總體上講,指定 target 目錄可以帶來顯著的構建效率提升,但也需要考慮潛在的版本沖突問題,這個需要根據實際的項目來取舍。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。