00:00
我们来看一看第二种方式。各位。注意第二种方式啊。第二种注册事件的方式是使用纯什么?纯JS代码完成事件的什么注册?首先第一步先干什么?先获取这个按钮对象,注意听了各位啊,讲新东西了,我在这里再加一个按钮行不行,Type button,然后呢,Value写上HELLO2。然后这个位置是on click吧,但是这个不写了,我不用这种方式了,明白我给这个按钮加个ID叫my button,第一步先获取这个按钮对象,根据ID来获取,怎么获取我直接写了啊,Document有个那个叫document,第二有方法的get element by ID,这个ID是他。
01:05
这个my button就是他记住啊,这个代码我是不是第一次在咱班,在咱们班写,我来给大家解释一下啊,Document是全部小写啊,注意document是全部怎么着小写内置对象可以直接用document就代表什么,就代表整个H天L页面吧,哎,这个单词能看到我们get什么意思,获取element什么意思,元素BY是什么意思,通过ID是ID呗,对吧,叫通过ID去get什么这个元素,这个ID是不是在这儿,Document get by ID拿到了,这个就是一个什么对象,Button对象。拿到这个button对象之后,第二步。注意。
02:02
给什么?给按钮对象的什么属性?On click属性赋值。你这个button对象是它这个对象上有没有这个属性叫click,有有这个就没写。就是这个按钮上有没有这个属性啊,有没写啊,我们可以在这写点什么,On click。听听明白了吗?后边我们可以写一个什么回调函数。哎,你在这个位置写的时候是不是一个函数,那我点on click后边也可以写函数。那这个函数你可以提前定好啊,Function do some do some,那你就可以把do some拿过来放这。
03:14
注意注意啊,千万别加小括号。注意啊,这是错误的。是直接把这个函数名给他就行。好,怎么做的,Document是文档对象,我们到目前为止用了一个window,各位啊,Window一直在用,Window是不是全部小写,这个window代表什么,代表浏览器窗口啊,那浏览器窗口里边这个白色的这个地方是不是就是页面整个这个东西叫window,如果说只说这一块东西的话,我们把这个叫做。
04:13
Document。听懂了吗?这个对的是谁?整个这个窗口。拿到这个元素,这个元素就是这个按钮对象,这个按钮对象上有什么属性,有这个属性啊。有这个属性,你就可以点这个属性,听懂了吗。你点这个属性,这个属性后面跟的是个函数吧,但是这个函数把函数没拿过来放这就行了。整个这个代码就是通过GS代码来注册事件的,各位会了吗?有个按钮,有个ID,程序到这之后先定一个函数,然后接下来当你的GALABYD拿到元素之后,On click,后面函数写上就行,跟这种方式有区别吗?没区别啊,没区别,原理上一样不一样一样,只不过这个是直接on click是写写写到这了吧,这个只不过是把这个按钮拿到,是不是点on click呀啊,我我我我觉得这个都可以,可以运行一下啊,一样。
05:28
跑到IE上了来再运行走呼呼hello,能执行,这个地方是不是也能执行啊。行,可以注意注意看啊。关键时刻。这个位置我再去加一个按钮,Input type类型是button,然后value呢,写上什么呢?3ID这块叫买button。一得了。行吧,这个啊,那这边怎么写document get BYD是到是不是就是这个,诶这个对象是不是就是这个对象,拿到这个对象之后,这个对象点什么on click是不是这么写的,后边我能不能不写这个函数。
06:17
我能不能写一个匿名函数,就是这个函数没有名字。我就是告诉你,就这种方式是把函数先定出来,把函数名放到这儿对不对?好,各位告诉我do some,在这个角度来看,Do some是不是回调函数,是啊,这句这句话的意思是不是只是注册上,只是注册上吗?你得知道啊,这行代码,这一行代码的意思啊,这一行代码的含义是将回调函数叫什么?Do事件明白,那你这块呢,My button,我不再写这个函数了,这个函数没有名字,我直接加一个方行不行?
07:18
这个函数没有名字,直接给他附上,把这个函数附上去了。来。刷新走一个。是不是也行,所以我们的这个匿名函数是不是回调函数。是的,函数,注意啊,这个函数没有名字,叫做匿名函数,这个匿名函数也是一个什么回调函数,好,我问问题你来答,页面在打开的时候,这个函数执行不执行?不执行说的太好了啊,页面打开的时候只是把这个函数叫回调函数,只是给他注册上,您这个事件不发生,这个函数永远都不会被调用,记住了啊,您不能说这个函数往这一写,诶是不是页面打开就执行了,不是啊,这行代码的意思您必须得清楚,就是说把这个回调函数注册上,真正发生这个事件之后,回函回调函数才会执行了,这个函数在页面怎么着,打开的时候只是注册上啊,不会调用,不会被调用,在C事件发生之后才会调用。
08:44
有同学就学这个学懵了,来这两行代码能我们再来一个按钮啊,再来一个,来一个input type类型but,然后value来一个HELLO4ID叫买BUTTON2,我一行代码能不能给他写出来呀?
09:00
怎么写document by ID是点的吗?Function?Test。能看懂吗?当然该YD值是不是那个元素啊,点on click后面直接加一个函数就行,以后我们都这么写的,各位啊。就这个原理的得得得得清楚啊,你这个定一个函数啊,你这获取节点,然后把这个函数名字给了它,这是分分开了,是分开了懂吗?这是分开了,然后呢,它可以综合起来,就是do get by ID,之后呢,直接点on后边注注册那个函数就行了,那这个行不行,我们看看把这个哈罗斯能不能执行看可以。没问题的啊。这两种方式大家都会了吗?第一种方式怎么做很很直接很暴力啊,On click就完事了,把这种方式是不是最简单最简单直接on click写上。还有一种方式是通过GS代码,GS代码就do.get get的BYD这个方法,拿到这个节点之后,或者这个元组或者对象之后,拿到对象之后点属性,点属性就可以了。
我来说两句