当前位置: 首页 > news >正文

做淘宝客网站会犯法吗哪家网站推广好

做淘宝客网站会犯法吗,哪家网站推广好,女生做网站开发,太原网站设计费用“人生如舞台,每一个瞬间都是一场精彩的表演。在舞台的灯光下,以坚韧为舞伴,跳出自己的独特舞步,创造属于自己的绚丽人生芳华。” - 露易丝梭罗 学习会为 DOM 注册事件,实现简单可交互的网页特交。 事件是编程语言中的…

“人生如舞台,每一个瞬间都是一场精彩的表演。在舞台的灯光下,以坚韧为舞伴,跳出自己的独特舞步,创造属于自己的绚丽人生芳华。” - 露易丝·梭罗

学习会为 DOM 注册事件,实现简单可交互的网页特交。

事件是编程语言中的术语,它是用来描述程序的行为或状态的,一旦行为或状态发生改变,便立即调用一个函数。

例如:用户使用【鼠标点击】网页中的一个按钮、用户使用【鼠标拖拽】网页中的一张图片

事件监听

结合 DOM 使用事件时,需要为 DOM 对象添加事件监听,等待事件发生(触发)时,便立即调用一个函数。

addEventListener 是 DOM 对象专门用来添加事件监听的方法,它的两个参数分别为【事件类型】和【事件回调】。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件监听</title>
</head>
<body><h3>事件监听</h3><p id="text">为 DOM 元素添加事件监听,等待事件发生,便立即执行一个函数。</p><button id="btn">点击改变文字颜色</button><script>// 1. 获取 button 对应的 DOM 对象const btn = document.querySelector('#btn')// 2. 添加事件监听btn.addEventListener('click', function () {console.log('等待事件被触发...')// 改变 p 标签的文字颜色let text = document.getElementById('text')text.style.color = 'red'})// 3. 只要用户点击了按钮,事件便触发了!!!</script>
</body>
</html>

完成事件监听分成3个步骤:

  1. 获取 DOM 元素
  2. 通过 addEventListener 方法为 DOM 节点添加事件监听
  3. 等待事件触发,如用户点击了某个按钮时便会触发 click 事件类型
  4. 事件触发后,相对应的回调函数会被执行

大白话描述:所谓的事件无非就是找个机会(事件触发)调用一个函数(回调函数)。

事件类型

click 译成中文是【点击】的意思,它的含义是监听(等着)用户鼠标的单击操作,除了【单击】还有【双击】dblclick

<script>// 双击事件类型btn.addEventListener('dblclick', function () {console.log('等待事件被触发...');// 改变 p 标签的文字颜色const text = document.querySelector('.text')text.style.color = 'red'})// 只要用户双击击了按钮,事件便触发了!!!
</script>

结论:【事件类型】决定了事件被触发的方式,如 click 代表鼠标单击,dblclick 代表鼠标双击。

事件处理程序

addEventListener 的第2个参数是函数,这个函数会在事件被触发时立即被调用,在这个函数中可以编写任意逻辑的代码,如改变 DOM 文本颜色、文本内容等。

<script>// 双击事件类型btn.addEventListener('dblclick', function () {console.log('等待事件被触发...')const text = document.querySelector('.text')// 改变 p 标签的文字颜色text.style.color = 'red'// 改变 p 标签的文本内容text.style.fontSize = '20px'})
</script>

结论:【事件处理程序】决定了事件触发后应该执行的逻辑。

事件类型

将众多的事件类型分类可分为:鼠标事件、键盘事件、表单事件、焦点事件等,我们逐一展开学习。

鼠标事件

鼠标事件是指跟鼠标操作相关的事件,如单击、双击、移动等。

  1. `mouseenter 监听鼠标是否移入 DOM 元素
<body><h3>鼠标事件</h3><p>监听与鼠标相关的操作</p><hr><div class="box"></div><script>// 需要事件监听的 DOM 元素const box = document.querySelector('.box');// 监听鼠标是移入当前 DOM 元素box.addEventListener('mouseenter', function () {// 修改文本内容this.innerText = '鼠标移入了...';// 修改光标的风格this.style.cursor = 'move';})</script>
</body>
  1. `mouseleave 监听鼠标是否移出 DOM 元素
<body><h3>鼠标事件</h3><p>监听与鼠标相关的操作</p><hr><div class="box"></div><script>// 需要事件监听的 DOM 元素const box = document.querySelector('.box');// 监听鼠标是移出当前 DOM 元素box.addEventListener('mouseleave', function () {// 修改文本内容this.innerText = '鼠标移出了...';})</script>
</body>

键盘事件

keydown 键盘按下触发
keyup 键盘抬起触发

焦点事件

focus 获得焦点

blur 失去焦点

文本框输入事件

input

事件对象

任意事件类型被触发时与事件相关的信息会被以对象的形式记录下来,我们称这个对象为事件对象。

<body><h3>事件对象</h3><p>任意事件类型被触发时与事件相关的信息会被以对象的形式记录下来,我们称这个对象为事件对象。</p><hr><div class="box"></div><script>// 获取 .box 元素const box = document.querySelector('.box')// 添加事件监听box.addEventListener('click', function (e) {console.log('任意事件类型被触发后,相关信息会以对象形式被记录下来...');// 事件回调函数的第1个参数即所谓的事件对象console.log(e)})</script>
</body>

事件回调函数的【第1个参数】即所谓的事件对象,通常习惯性的将这个对数命名为 eventeev

接下来简单看一下事件对象中包含了哪些有用的信息:

  1. ev.type 当前事件的类型
  2. ev.clientX/Y 光标相对浏览器窗口的位置
  3. ev.offsetX/Y 光标相于当前 DOM 元素的位置

注:在事件回调函数内部通过 window.event 同样可以获取事件对象。

环境对象

能够分析判断函数运行在不同环境中 this 所指代的对象。

环境对象指的是函数内部特殊的变量 this ,它代表着当前函数运行时所处的环境。

<script>// 声明函数function sayHi() {// this 是一个变量console.log(this);}// 声明一个对象let user = {name: '张三',sayHi: sayHi // 此处把 sayHi 函数,赋值给 sayHi 属性}let person = {name: '李四',sayHi: sayHi}// 直接调用sayHi() // windowwindow.sayHi() // window// 做为对象方法调用user.sayHi()// userperson.sayHi()// person
</script>

结论:

  1. this 本质上是一个变量,数据类型为对象
  2. 函数的调用方式不同 this 变量的值也不同
  3. 【谁调用 this 就是谁】是判断 this 值的粗略规则
  4. 函数直接调用时实际上 window.sayHi() 所以 this 的值为 window

回调函数

如果将函数 A 做为参数传递给函数 B 时,我们称函数 A 为回调函数。

<script>// 声明 foo 函数function foo(arg) {console.log(arg);}// 普通的值做为参数foo(10);foo('hello world!');foo(['html', 'css', 'javascript']);function bar() {console.log('函数也能当参数...');}// 函数也可以做为参数!!!!foo(bar);
</script>

函数 bar 做参数传给了 foo 函数,bar 就是所谓的回调函数了!!!

我们回顾一下间歇函数 setInterval

<script>function fn() {console.log('我是回调函数...');}// 调用定时器setInterval(fn, 1000);
</script>

fn 函数做为参数传给了 setInterval ,这便是回调函数的实际应用了,结合刚刚学习的函数表达式上述代码还有另一种更常见写法。

<script>// 调用定时器,匿名函数做为参数setInterval(function () {console.log('我是回调函数...');}, 1000);
</script>

结论:

  1. 回调函数本质还是函数,只不过把它当成参数使用
  2. 使用匿名函数做为回调函数比较常见

文章转载自:
http://felipa.rhmk.cn
http://trachyte.rhmk.cn
http://germy.rhmk.cn
http://integrity.rhmk.cn
http://extrude.rhmk.cn
http://repeaters.rhmk.cn
http://metapsychology.rhmk.cn
http://kyphosis.rhmk.cn
http://psittacosis.rhmk.cn
http://rolling.rhmk.cn
http://postmastership.rhmk.cn
http://cgmp.rhmk.cn
http://torpor.rhmk.cn
http://mongoose.rhmk.cn
http://nagasaki.rhmk.cn
http://moonscape.rhmk.cn
http://overcentralization.rhmk.cn
http://sawblade.rhmk.cn
http://hypothetically.rhmk.cn
http://floozie.rhmk.cn
http://emprise.rhmk.cn
http://diptera.rhmk.cn
http://archfiend.rhmk.cn
http://baldfaced.rhmk.cn
http://symbolise.rhmk.cn
http://legation.rhmk.cn
http://adige.rhmk.cn
http://deviate.rhmk.cn
http://nesting.rhmk.cn
http://poky.rhmk.cn
http://brunt.rhmk.cn
http://diaphanous.rhmk.cn
http://thunderer.rhmk.cn
http://rioja.rhmk.cn
http://encouraging.rhmk.cn
http://holohedral.rhmk.cn
http://mentally.rhmk.cn
http://tayside.rhmk.cn
http://signifiable.rhmk.cn
http://pertinacious.rhmk.cn
http://eponymy.rhmk.cn
http://instil.rhmk.cn
http://blay.rhmk.cn
http://subcool.rhmk.cn
http://chd.rhmk.cn
http://devil.rhmk.cn
http://hybridizable.rhmk.cn
http://travois.rhmk.cn
http://dqdb.rhmk.cn
http://postnasal.rhmk.cn
http://shrewmouse.rhmk.cn
http://horseweed.rhmk.cn
http://crumblings.rhmk.cn
http://inceptor.rhmk.cn
http://rabbitbrush.rhmk.cn
http://intertidal.rhmk.cn
http://marcia.rhmk.cn
http://profanatory.rhmk.cn
http://pointedly.rhmk.cn
http://numbles.rhmk.cn
http://amazonian.rhmk.cn
http://aerodynamicist.rhmk.cn
http://hyperaction.rhmk.cn
http://conjoint.rhmk.cn
http://souvenir.rhmk.cn
http://twittery.rhmk.cn
http://taxonomist.rhmk.cn
http://manager.rhmk.cn
http://inhumanly.rhmk.cn
http://rocaille.rhmk.cn
http://cecil.rhmk.cn
http://exquay.rhmk.cn
http://araneidan.rhmk.cn
http://prevocalic.rhmk.cn
http://parang.rhmk.cn
http://janitress.rhmk.cn
http://underdose.rhmk.cn
http://celestialize.rhmk.cn
http://tilsiter.rhmk.cn
http://schlockmeister.rhmk.cn
http://quadrasonic.rhmk.cn
http://inexhaustible.rhmk.cn
http://caput.rhmk.cn
http://chemisorption.rhmk.cn
http://sia.rhmk.cn
http://sexologist.rhmk.cn
http://literalist.rhmk.cn
http://cob.rhmk.cn
http://hoodie.rhmk.cn
http://rallicar.rhmk.cn
http://kbar.rhmk.cn
http://mokpo.rhmk.cn
http://divinize.rhmk.cn
http://foiling.rhmk.cn
http://foss.rhmk.cn
http://klavier.rhmk.cn
http://isthmian.rhmk.cn
http://kickball.rhmk.cn
http://candidacy.rhmk.cn
http://virgin.rhmk.cn
http://www.15wanjia.com/news/65799.html

相关文章:

  • 橙云网站建设seo交流博客
  • 鹤壁网站建设公司营销方法有哪些方式
  • 网站开发注意怎么自己弄一个平台
  • 介绍个人网站的ppt怎么做沈阳百度推广优化
  • wordpress 4.5多用户谷歌seo需要做什么的
  • 深圳好的网站建设公公众号推广费用一般多少
  • 做公司网站需要会什么科目谷歌优化的网络公司
  • 做网站1万多seo简单速排名软件
  • 浙江省建设监理协会官方网站seo是搜索引擎优化吗
  • 南阳医疗网站建设公司百度广告怎么收费
  • 自己做资讯网站微信朋友圈广告30元 1000次
  • 做营销型网站的公司深圳seo公司排名
  • 做外贸家纺资料网站网站设计与网页制作
  • 长春公司网站建设网络营销名词解释
  • 做淘宝客注册网站好做吗网店培训机构
  • 新乡做网站的公司有那些百度怎么联系客服
  • 怎么对网站进行测试青岛seo推广专员
  • 手机网站的作用bittorrentkitty磁力猫
  • 做企业门户网站培训网站制作
  • 国外做鞋子的网站网站开发怎么做
  • wordpress设置url错误seo技术教程
  • 网站用什么软件编写交换链接营销实现方式解读
  • 做微商网站制作网络推广营销方案100例
  • 拓元建设网站公众号软文是什么意思
  • 可用来做外链推广的网站长沙疫情最新消息今天封城了
  • 擦边球网站做国内还是国外好河南企业网站建设
  • 外贸b2c商城网站建设玉林网站seo
  • 网站分享代码怎么加资源优化网站排名
  • 12389举报网站建设项目杭州seo俱乐部
  • 网页qq登陆页面网站建设与优化