00:00
写啊,其实写的时候它是有一个固定的一个方式啊,咱们现在我们说实际上我们现在有两种方式,一个叫做A的invent listener,还有一个叫什么呀,Touch event,对吧,你干脆你先把这两种方式干嘛呀,你先都给它写上啊,我给写上,那比如说我要用touch,问这个a event listener,我们先说一个大部分浏览器兼容的这个方式,那我怎么写啊,我得来一个obj,点一个a invent listener,然后我要传参数,这来什么呀,来一个这个,诶invent s tr是不是我这个时间字符串啊,然后逗号来个这个扣back,然后再来一个什么呀,Fo,诶这是不是大部分这个浏览器兼容的方式啊,哎,你用这个就行了,然后呢,如果是IE8呢,IE8及以下我就什么呀,Obg点一个啊touch a ch啊touch一个event,然后我这传什么呀。
01:00
传一个引问他H2,然后这来个什么呀?扣bag是不是就行了,诶这是IE8级以下的,这是我们这个大部浏览题,你给它列上两种方式,我们是不是从这两种方式里边选择选择,选择一种是不是就行了呀?哎选择一种就行了啊扣back是我们这回调函数直接作为参数就传过来行了,那这里面我们来看,首先我们要解决第一个问题,第一个问题是什么呢?引问他str,我这IE8以下呢,诶你要二是吧,其他浏览器呢,它它不要二,那这块我传的时候我是传不传啊,诶传不传啊,你就要考虑一个问题,我是把这个R给它加上容易,还是给它去了容易是不是加上容易啊,去了你还得还得截串,很麻烦,所以干嘛呢?我这块注意我干嘛呢?我不要啊,不要来一问题了,你这不要阿一八这是不是就少样啊,那怎么办呀?诶你给IE8这给它干嘛呀?哎,咱们给它手动是不是加一个呀,诶这样到这是不是就有on了呀?哎,On啊好,那这样就基本上没。
02:00
没问题了,但是还是这个问题,我要直接这么写,是不是就废了呀?同学们说了,如果是我们其他浏览器,我需要使用这种方式,如果是IE8以下,我需要使用下面这种方式,那我怎么办?我说需要判断呀,判断什么判断什么,我用不用判断是哪个浏览器。不用,我只需要判断什么呀,我只需要判断这个对象里是否有A的invent listener这个方法,诶如果有我就干嘛呀,我就用它,如果没有我是不是用下面这种啊,哎,所以这非常的简单,来什么呀,If OB接点一个A的invent listener我是不是直接写呀?哎,如果有它是不是会返回一个对象啊,返回对象转成本,这是一个true,是true,我干嘛呢?我是不是调用啊,然后再来什么呢?Else else4我是不是掉了,掉这个就行了,哎,掉这个就行了,这样是不就OK了呀?哎,咱们来看看行不行啊,行不行,保存写完了我们来试试啊,来试试。这里边呢,我直接在上边来试吧,直接来什么呢?来一个这个半半来什么呢?叫做一个碧天零一,然后逗号来一个这个click,然后逗号来一个function function呢我们就来写一个,写一个这个ALERT1那一保存,咱们来看效果一刷新火狐。
03:20
我说行啊,哎,没问题吧,来来看我们这个IE8,你刷新走你。这不怎么还转上了,我们先转一会是吧。就我这个网页看看用什么费劲的什么来这一点是不是也行了,诶就所有浏览器胶都兼容了,所以这块注意啊,我们的一个依据就是什么呀,有哪个我们是不是用哪个呀,所以用之前你要先判断它有没有啊,有你就用,没有你就用别的啊,没有你用别的,但是这还是一个问题,我们有一个问题没有解决,咱们先看看我同时把那两个行不行。是不是也没问题啊,咱们来看看吧,一刷新这是一,这是二没问题吧,来看我们这个G12,但是在IE8里你们来看。
04:09
是不二一啊,那就反过来了,但是顺序我们说这块无所谓啊,无所谓,那这块看完了,我们要看一个关键的问题,谁呀Z的问题,这次的问题我们来看,在火狐里是button,诶也就是说我们点谁,我们这个绑给谁,绑定的时候就是谁啊,诶谁绑定就是谁,在我们这个groom里呢,点是它,但是呢,在我们IE8里,你一点变成window了,对吧,那变成window了,也就变成window了,那就意味着什么呢?意味着你在这里边你就不能再用谁了。你就不能用Z了,为什么不能用呢?是不一样的呀,哎,你那个this是window,这个this是button,那你这玩意儿不统一了,你就没法再用了,用完了容易出问题,那现在我希望干嘛呢?我希望统一这个,这次我希望无论是我们的IE8里边,还是我们其他浏览器里边,这个出来的都是这样,都是这个。比邻啊,都是这个被点击这个对象,也就是说是不是就应该都是我这个这个参数object呀,那这块怎么办呀,那现在我们说这块我用不用动啊,这时候没问题的呀,所以我们要动的只是下边这一部分S这部分,那我们来想,那这块我怎么办呀,这次的值是由什么决定的呀。
05:20
哎,Z是谁?它由什么呢?由我们这个调用方式决定啊,由调用方式决定,那这里边是window,那明显它底层应该是采用什么呀,函数的形式调用的了,哎,函数形调用,所以是一个window啊,是一个window,那既然是由调用方式决定的,那我只能去改这个函数的调用方式吧,那但是现在问题来了,这函数是谁调的呀?是咱们调的吗?不是,是浏览器调的吧,所以这个调用方式怎么还咱还控制不了,咱们控制不了浏览器调的,那咱们要能控制的话,怎么怎么怎么怎么改这个类我直接什么呀,Call,哎,扣back点一个扣,然后里边传个OB比接是不是行了,哎,这样咱们能控制,还记得这个扣方法吗?可以修改我们这个函数这个Z次吧,哎,Z次直接掉这玩意就完了。但是问题来了,这函数它。
06:16
他不是咱们调的对吧,这是谁调的,浏览器调的,那咱们也不能跟浏览器说去是吧,你跟你跟IE8说去吧,你还得给给给微然写个信是吧,微然微然肯定他理都不理你是吧?理都不理你那这块怎么办。怎么办?现在这个扣是浏览器掉的,对吧,那现在我不要浏览器掉,那我需要把这个什么呀,把调用回调函数的权利我给他。拿回来对吧,那怎么拿回来呢?看我怎么处理啊,看我怎么处理,在这块我不传扣back了,我传个什么呢。我传一个直接传一个匿名函数,这看见了吗?直接传了一个匿名函数,那我问你这回在IE8里再触发函数,触发的是谁。
07:03
是不触发这个匿名函数,所以咱们来看笑话,在我们这个火狐里,我这一点是它,然后在我们这个IE8里,我一点他说不执行啊,为什么不执行,因为它调的是我们这个匿名函数,这匿名函数里边是不是什么也没写呀?诶然后干嘛呢?在我们这个匿名函数中来调用我们这个回调函数来谁呢?来一个扣back,我先这么写啊,先来一扣back,那现在我们来看浏览器当去调这函数的时候,它调的是谁这匿名函数吧,而在匿名函数里我是不是调用回调函数啊,所以我们看到效果跟刚才应该什么呀,应该是一样的,只不过干嘛啊,我们中间是不是多了一步啊,诶浏览器调匿名函数,在匿名函数里我们来调什么呀?调扣back,我们来看这回的效果,一刷新,我这一点火狐狸没有什么特殊的,在这我给你保存,诶,是不是温啊,执行效果是一样的,那同学可能说了,这不多此一举吗?干嘛来这么一步啊,这是不是多此一举啊?
08:03
是不是多此一举啊,注意了,刚才这call back是不是还是有浏览器掉的呢?现在变成什么了,是我们自己掉的呢?那既然是我们自己掉的,我是不是想怎么掉怎么掉了,所以我直接来一个把这东西整过来,扣back点扣一个obj,那这样我这个Z是谁了?是不是就是OB接了,哎,就是欧接了,所以我们来看效果,这一刷新再一点变成什么了,是把它了,哎,这样就干嘛了,就都统一了啊,就统一了啊,所以注意整体的一个思路干嘛呀,如果这东西叫浏览器掉,我们一辈子也弄不了,所以干嘛呢?我们让浏览器调的是这个匿名函数,而在匿名函数里,我们是不是来调这个回调函数,这样我们就可以去指定这个Z了啊,指定那个Z这一段呢?好好去看一下,其他都没难度,主要是这块第一次看到这种代码啊,好好的看看,好,那这个呢,是我们这个半的函数,我们都给它写完了,停一下。
我来说两句