JS学习第二部分

news2024/11/24 12:46:36

在前面,第一章节 ,学了JS的基本语法和一些常用的用法。在第二章节, 学了DOM,就是节点信息,教我们怎么在JS里面获取HTML的标签。接着,我们学习第三章节,怎么在JS里面对HTML的css样式进行操作。

三、CSS操作

在JS里面对样式进行操作,最简单的方式是通过获取网页元素节点。再使用setAttribute方法直接操作网页元素的style属性。

例如:box.setAttribute(“style”,“width:200px;color:red;”);   //box是在第二章节,通过DOM获取到的节点。

第二种方式:设置元素节点的style属性。box.style.width="200px"; box.style.color="red";

第三种方式:设置CssText属性。box.style.CssText=“width:200px;color:red;”

事件处理程序:

事件处理程序有三种方式:

HTML事件处理:

  直接举例说明,比如按钮点击事件 <button onClick="函数"/>     

<script> function 函数{    }   </script>

它的缺点:HTML和JS没有分开。按钮里面使用onClick函数,属于JS的用法了。

DOM 0级事件处理:

它是将按钮点击这个事件放入JS里面。

修改上述代码:var btn=document.getElementById("btn");

                       btn.onclick = function(){    }    

    注意这个用法,不需要在写函数名,而且onclick都是小写。在HTML事件,这个是onClick。有一个大写。

优点:它解决了HTML事件处理,不能将JS和HTML分离的缺点。

缺点:无法同时添加多个事件。(比如:现在有多个相同的子类元素节点。它只会对第一个子类元素节点的事件起作用。)

DOM 2级事件处理:

 直接修改上述代码:var btn=document.getElementById("btn")

   btn.addEventListener("click",function(){       } ) 

  和上述的区别:使用addEventListener  和click。不是onclick噢!

优点:它可以同时添加多个事件。

 事件之鼠标事件:

注意鼠标事件的使用,如果用的是DOM 0级事件,需要加上on。

Event事件对象:

事件发生以后,会产生一个事件对象,作为参数传给监听函数。(注意是生成参数噢!)

例如用事件处理来说:var btn=document.getElementById("btn")。 

            btn.onclick = function(e){      //e就是事件对象,它表示btn这个点击事件。

                     console.log(e.target )    //返回当前对象所在的节点。就是返回btn。

                    }

对象属性:

Event.Target

返回事件当前所在的节点。就是相当于 DOM获取元素节点?需要练习

Event.type

返回事件类型。

对象方法:

Event.preventDefault()

取消浏览器对当前事件的默认行为,例如:点击链接,然后使用这个方法,再次点击链接,就不会在进行跳转。

Event.stopPropagation()

阻止事件冒泡。比如:一般情况下,被父类嵌套的子类,当我们点击子类时,它会把深层次的父类点击事件也运行。这个时候,在子类添加这个方法就能阻止此类方法产生。这样,点击子类。只运行一次对应的方法。具体可以看下面的事件代理。就用到了事件冒泡的概念。

事件类型之键盘事件:

事件类型:keydown:按下触发。

                 keypress:只有按下有值的键才能触发。例如:ctrl、Alt这种无值的键不会触发。

                 keyup:松开键盘触发。

事件对象:keycode

依靠每个按键的唯一标识。例如:按键a,它的值就是65。

事件类型之表单事件:

事件类型:input:和前面的key事件类似。username.oninput = function(e){    }

                  select:当选中文本时触发

                 Change:和input相似,它的不同点在于当它失去焦点(鼠标点击别处)或按回车键。他才会把触发。

                 reset:  这个和下面的事件,在HTML里面有定义。就不再讲述了。

                 submit:

事件代理(事件委托):

其实就是父元素系统处理子元素事件。由于事件会在冒泡阶段向上传播到父节点,所以可以把子类的监听函数放在父节点上,这样点击子节点,只会发生在父节点的一次触发。

由父节点的监听函数统一处理多个子元素的事件。这种方法叫做事件的代理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/795089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3ds MAX NURBS曲线绘制鼠标

先引用一段大佬的话&#xff0c;解释为什么除了样条线还有这种曲线 NURBS是有理B-splines曲线https://www.zhihu.com/search?q%E6%9C%89%E7%90%86B-splines%E6%9B%B2%E7%BA%BF&search_sourceEntity&hybrid_search_sourceEntity&hybrid_search_extra%7B%22sourceT…

<Postman>Postman接口测试以及使用案例

说明&#xff1a;现在所有的系统都有登录token设置&#xff1b; 所以需要先进行登录&#xff0c;获取两个token&#xff1b; 关于token和refresh token 传统的认证方式一般采用cookie/session来实现&#xff0c;这是我们的出发点。 1.为什么选用token而不选用cookie/session…

OSI模型简介及socket,tcp,http三者之间的区别和原理

1.OSI模型简介&#xff08;七层网络模型&#xff09; OSI 模型(Open System Interconnection model)&#xff1a;一个由国际标准化组织提出的概念模型&#xff0c;试图提供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。 它将计算机网络体系结构划分为七层,每…

spring 存储对象 + 获取对象

前言 本篇在spring中如何使用五大类注释与方法注释将对象加入IOC容器中&#xff0c;了解如何使用注释来获取容器中的Bean对象&#xff0c;如有错误&#xff0c;请在评论区指正&#xff0c;让我们一起交流&#xff0c;共同进步&#xff01; 文章目录 前言1.通过注释将类加入IoC…

【C++ 重要知识点总结】自定义类型-类和结构体

类 类的基本特性 数据抽象和封装继承多态 1 类的构成——抽象 概念 数据抽象是一种依赖于接口和实现的分离的编程技术。类的接口包括用户所能执行的操作&#xff1b;类的实现包括类的数据成员、负责接口实现的函数体以及定义类所需要的的各种私有函数。封装实现了类的接口和实…

645. 错误的集合

645. 错误的集合 class Solution { public static int[] findErrorNums(int[] nums) {Arrays.sort(nums);int dup-1;int miss1;for (int i 1; i < nums.length; i) {if(nums[i]nums[i-1]){dupnums[i];}if(nums[i]-nums[i-1]>1){missnums[i]-1;}}return new int[]{dup,…

Vmware vSphere 5.0系列

Vmware vSphere 5.0 我们都用过 vmware workstation 这款产品&#xff0c;可以使我们安装很多虚拟机&#xff0c;但是 vmware 的核心产品远非局限于 workstation。 vSphere 是 VMware 推出的基于云的新一代数据中心虚拟化套件&#xff0c;提供了虚拟化基础架构、高可用性、集…

Tesseract开源的OCR工具及python pytesseract安装使用

一 、介绍 Tesseract是一款由Google赞助的开源OCR。 pytesseract是python包装器&#xff0c;它为可执行文件提供了pythonic API。 Tesseract 已经有 30 年历史&#xff0c;开始它是惠普实验室的一款专利软件&#xff0c;在2005年后由Google接手并进一步开发和完善。Tesseract支…

【Unity 实用插件篇】| 可视化图表插件XCharts (折线图、柱状图、饼图等)详细教学

前言 【Unity 实用插件篇】| 可视化图表插件XCharts (折线图、柱状图、饼图等)详细教学一、XCharts介绍1.1 特性1.2 相关网站链接1.3 效果展示 二、XCharts导入三、XCharts快速使用3.1 添加一个简单图表3.2 添加多个Seire3.3 给图表添加其他组件3.4 添加Serie组件&#xff0c;如…

什么是Maven,Maven的概述及基本使用

MAVEN 一、Maven简介1.1、Maven概述1.2、Maven仓库1.3项目获取jar包过程 二、Maven使用2.1Maven安装配置2.1.1配置环境变量2.1.2配置本地仓库2.1.3配置阿里云私服 2.2Maven基本使用2.2.1Maven常用指令2.2.2Maven生命周期 总结 一、Maven简介 Apache Maven是一个项目管理和构建…

自动驾驶数据标注有哪些?

自动驾驶汽车&#xff1a;人工智能(AI)的焦点 人工智能驱动汽车解决方案的市场规模预计到 2025年将增长十倍以上&#xff0c;提升车内体验的商机领域以及 AI 模型的无偏见训练数据的重要性。在本篇中&#xff0c;我们将介绍车外体验的关键组成部分&#xff0c;以及自动驾驶数据…

Python 爬虫的学习 day01 ,爬虫的基本知识, requests 和 charde模块, get函数的使用

1.Python 爬虫 1.1什么是网络爬虫 网络爬虫&#xff0c;又称为网页蜘蛛&#xff0c;网络机器人&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本&#xff0c;另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 1.2 网络爬虫的特…

2023/7/26总结

最近都花时间在项目上 修改了发布文章的界面 然后文章可以上传图片了 修改了个人主页的界面&#xff08;这里把js代码注释掉了&#xff0c;所以没用内容&#xff09; 大概画了一下管理员的界面 和消息列表的界面 做了评论的界面&#xff1a;&#xff08;还没开始写&#xff0c…

“华为杯”研究生数学建模竞赛2019年-【华为杯】F题:多约束条件下智能飞行器航迹快速规划

目录 摘 要&#xff1a; 一、 问题重述 1.1 问题背景 1.2 需要解决的问题 二、 模型假设 三、符号说明 四、问题一 4.1 问题描述与分析 4.2 模型建立 4.2.1 数据处理 4.2.2 航迹规划模型建立 4.3 求解算法建立 4.3.1 最短路径数学表达 4.3.2 自适应改进型 Dijkstr…

力扣热门100题之合并区间【中等】

题目描述 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;interv…

Docker啥是数据持久化?

文章目录 数据持久化数据卷相关命令创建读写数据卷创建只读数据卷数据卷共享数据卷容器实现数据卷共享nginx实现数据卷共享nfs总结 Dockerfile持久化Dockerfile方式docker run总结 数据持久化 ​ 在容器层的 UnionFS&#xff08;联合文件系统&#xff09;中对文件/目录的任何修…

动态分段的JavaScript实现【线性参考】

有许多很酷的 GIS 应用程序将海拔和距离结合在一起。 当用户沿着高程图拖动光标时&#xff0c;地图上的位置通常会更新。 推荐&#xff1a;用 NSDT设计器 快速搭建可编程3D场景。 在尝试将此功能构建到我的一个项目中时&#xff0c;我了解到它需要一种称为线性参考&#xff08;…

java排序算法之插入排序

文章目录 &#x1f4cb;插入排序概念&#x1f4d6;实现步骤&#x1f516;代码示例 &#x1f4c8;总结 &#x1f4cb;插入排序概念 插入排序&#xff08;Insertion Sort&#xff09;是一种简单直观的排序算法。它将数组划分为已排序和未排序两个部分&#xff0c;每次从未排序部分…

iTOP-RK3568开发板Docker 安装 Ubuntu 18.04

Docker 下载安装 Ubuntu18.04&#xff0c;输入以下命令&#xff1a; sudo apt update docker pull ubuntu:18.04 切换 Shell 到 Ubuntu 18.04&#xff0c;输入以下命令&#xff1a; docker container run -p 8000:3000 -it ubuntu:18.04 /bin/bash -p 参数&#xff1a;容器的…

Shell脚本学习-shift语句的使用

[rootvm1 scripts]# help shift shift: shift [n]Shift positional parameters.Rename the positional parameters $N1,$N2 ... to $1,$2 ... If N isnot given, it is assumed to be 1.Exit Status:Returns success unless N is negative or greater than $#.说明&#xff1a…