天, 我们来聊一聊 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小时内与您取得联系。