数码资讯
js学习笔记的事件处理模型
有四种不同的浏览器事件模型:原始事件模型、标准事件模型,即事件模型和事件模型,netscape4。 1、有四种事件目前处理模型:原始事件模型、标准事件模型,即事件模型,并netscape4事件模型,但基本上忽视。 2,事件处理模型可以分为两个基本事件处理和高级事件处理。原始事件模型属于基本事件处理。
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
有四种不同的浏览器事件模型:原始事件模型、标准事件模型,即事件模型和事件模型,netscape4。
1、有四种事件目前处理模型:原始事件模型、标准事件模型,即事件模型,并netscape4事件模型,但基本上忽视。
2,事件处理模型可以分为两个基本事件处理和高级事件处理。原始事件模型属于基本事件处理。标准事件模型和IE事件模型属于高级事件处理。
第一,基本事件处理:
基本事件处理主要指原始事件模型的事件处理,主要分为以下两类:
(1)、事件处理为一个HTML标签,如… / /在这里,OnMouseOver是一个代表,还包含许多其他事件
这样,JS代码字符串赋给事件处理函数如onmouseover,自动封装的代码串在一个匿名函数,它可以有这样的关键词,它是指标签元素,或事件的关键词,这代表当事件发生时,事件对象(使用标准的浏览器等)…
事实上,我们可以把OnMouseOver看成一个函数,它是一个空函数之前赋予它的价值。在放弃它的js代码,它相当于将代码添加到空函数。因为当实际上是一个函数,所以我们可以调用它,如element.onmouseover(),但这并不会造成mouseover事件真正发生。
事件函数(onmoouseover,等等)可以返回到虚假行为的默认动作。
功能是运行在其范围的界定,所以如果事件处理程序指定的js代码,在HTML标签环境相当于定义了一个函数,环境特殊,其高度范围没有窗口的全局对象的环境中,两者之间通过至少这个域环境的功能分离。定义在一个高水平的范围内的环境是窗口(当然,也有另一个嵌套函数)。所以,在HTML标签,最好是把代码放在函数中定义了一个函数,然后将这个函数调用的事件函数,即,…
(2)、事件处理作为一个Javascript属性如元。onmouseover =函数(){…}
值得注意的是,在这种方式中,你不能把JS代码串的事件处理程序,相反,你把它分配给一个函数(而不是一个函数调用)或一个匿名函数,如元。onmouseover =函数(){…}或元素。onmouseover = f;f是一个函数,不添加括号在这里
基本事件处理也以冒泡的形式向上传播。
两。高级事件处理:
高级事件处理指的是标准事件模型和IE事件模型实现的事件处理。
事件的传播可以分为两种:一种是捕捉和传播,另一种是气泡传播。
捕获传播:事件从外部传递到内部,事件发生在每个级别。
气泡传播,也就是说,从内部发生的事件,它发生在每一个层次,并不是所有的事件都冒泡。
(1)标准事件模型
标准事件模型可以同时产生气泡传播和捕获传播。
{事件注册功能}
(addEventListener)具体注册事件处理程序的元素的方法有三个参数,第一个参数是事件名,没有前缀,二是处理功能(当然,也可以是一个匿名函数),当事件发生时,系统会自动给出该函数的第一个参数为事件对象的最后一个参数是布尔值。如果是真的,它只用于事件捕获和传播阶段。如果使用false,则只用于事件气泡传播阶段。通常我们把它设为false。
例如:element.addeventlistener(点击,F,false) / / F作为一个函数
f函数可以用这种方式定义:函数f(e){当事件代表事件对象时发生的参数之一
高级事件处理的一个主要优点是给同一个元素注册多个事件处理函数,这些事件的执行顺序无法确定,但通常是为了执行注册,如果注册重复事件函数,只有第一个将生效。
RemoveEventListener()这个方法是用来溶解事件注册,和它的三个参数是相同的()调用addEventListener
(2)IE事件模型
IE事件模型只支持事件冒泡传播。
{事件注册功能}
attacthevent()方法有2个参数,一个是事件名称的前缀是指出,第二是一个事件处理函数,例如,element.attachevent(onclick,F)
当事件发生时,IE事件模型的事件对象不是一个事件处理函数。IE的事件对象是窗口的全局对象。只有在事件发生时才能访问它。
因此,f函数可以用这种方式定义:函数f(){
detachevent()这个方法是用来取消注册的事件,和参数为attacthevent相同()
(attacthevent addEventListener)和()的一个重要区别是attacthevent()注册事件处理函数的这个关键词总是指向窗口,并调用addEventListener()在这一点上一个事件元素发生注册事件处理程序
(3)事件对象与IE和标准事件模型的比较
即事件对象
即事件对象
标准事件对象
标准事件对象
altkey
true指示alt键被按下,false没有。
altkey
true指示alt键被按下。false表示NO。
ctrlkey
true表示Ctrl键被按下,false没有。
ctrlkey
true表示Ctrl键被按下,false没有。
大写键
true表示shift键被按下,false没有。
大写键
true表示shift键被按下,false没有。
按钮
鼠标事件。0,意思是没有按下鼠标键,1是按左键,2是按右键,4是中间键,3是按左右键,5按左键和中间键,6按右边键和中间键,7按左键,中间键和右键。
按钮
0是左键,1键是中间键,2键是右键。
ClientX
在浏览器窗口中鼠标的x坐标(不包括工具栏、滚动条、等等)在事件发生时
ClientX
在浏览器窗口中鼠标的x坐标(不包括工具栏、滚动条、等等)在事件发生时
clienty
同上
clienty
同上
用ScreenX
当事件发生时,鼠标在整个屏幕上的X坐标。
用ScreenX
当事件发生时,鼠标在整个屏幕上的X坐标。
Screeny
同上
Screeny
同上
型
事件的名称(如单击)
型
事件的名称(如单击)
srcelement
导致事件的元素
目标
导致事件的元素
键码
对于按键事件,该按钮的Unicode字符表示,与该按钮的数字代码表示为KeyDown和Keyup事件
字符码
表示键的unicode字符。
键码
表示密钥的数字代码。
cancelbubble
防止事件在值为真时继续冒泡。
里面
可以调用此方法以防止事件继续冒泡。
cancelbubble
true表示事件气泡已被取消,false表示NO。
指定
当某个值为false时,该事件的默认行为将被阻止。
PreventDefault()
调用此方法可以防止事件的默认行为。
offsetx
获取与事件发生时导致事件相关的元素的鼠标的x坐标,即导致事件的元素的左上角(不计算填充和边距)是原点。
到Map Control中
当没有触发事件的元素的动态位置时,动态位置中的父元素的x坐标返回到由事件触发的元素的最近的一个,父元素边界的左上角是原点。
当触发事件的元素被动态定位时,返回与触发事件相关的元素的x坐标,元素边界的左上角是原点。
X
相对于触发事件,鼠标最近的一组元素设置了动态定位的父元素的x坐标,这是父元素边界i的坐角的原始点。
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。
1、有四种事件目前处理模型:原始事件模型、标准事件模型,即事件模型,并netscape4事件模型,但基本上忽视。
2,事件处理模型可以分为两个基本事件处理和高级事件处理。原始事件模型属于基本事件处理。标准事件模型和IE事件模型属于高级事件处理。
第一,基本事件处理:
基本事件处理主要指原始事件模型的事件处理,主要分为以下两类:
(1)、事件处理为一个HTML标签,如… / /在这里,OnMouseOver是一个代表,还包含许多其他事件
这样,JS代码字符串赋给事件处理函数如onmouseover,自动封装的代码串在一个匿名函数,它可以有这样的关键词,它是指标签元素,或事件的关键词,这代表当事件发生时,事件对象(使用标准的浏览器等)…
事实上,我们可以把OnMouseOver看成一个函数,它是一个空函数之前赋予它的价值。在放弃它的js代码,它相当于将代码添加到空函数。因为当实际上是一个函数,所以我们可以调用它,如element.onmouseover(),但这并不会造成mouseover事件真正发生。
事件函数(onmoouseover,等等)可以返回到虚假行为的默认动作。
功能是运行在其范围的界定,所以如果事件处理程序指定的js代码,在HTML标签环境相当于定义了一个函数,环境特殊,其高度范围没有窗口的全局对象的环境中,两者之间通过至少这个域环境的功能分离。定义在一个高水平的范围内的环境是窗口(当然,也有另一个嵌套函数)。所以,在HTML标签,最好是把代码放在函数中定义了一个函数,然后将这个函数调用的事件函数,即,…
(2)、事件处理作为一个Javascript属性如元。onmouseover =函数(){…}
值得注意的是,在这种方式中,你不能把JS代码串的事件处理程序,相反,你把它分配给一个函数(而不是一个函数调用)或一个匿名函数,如元。onmouseover =函数(){…}或元素。onmouseover = f;f是一个函数,不添加括号在这里
基本事件处理也以冒泡的形式向上传播。
两。高级事件处理:
高级事件处理指的是标准事件模型和IE事件模型实现的事件处理。
事件的传播可以分为两种:一种是捕捉和传播,另一种是气泡传播。
捕获传播:事件从外部传递到内部,事件发生在每个级别。
气泡传播,也就是说,从内部发生的事件,它发生在每一个层次,并不是所有的事件都冒泡。
(1)标准事件模型
标准事件模型可以同时产生气泡传播和捕获传播。
{事件注册功能}
(addEventListener)具体注册事件处理程序的元素的方法有三个参数,第一个参数是事件名,没有前缀,二是处理功能(当然,也可以是一个匿名函数),当事件发生时,系统会自动给出该函数的第一个参数为事件对象的最后一个参数是布尔值。如果是真的,它只用于事件捕获和传播阶段。如果使用false,则只用于事件气泡传播阶段。通常我们把它设为false。
例如:element.addeventlistener(点击,F,false) / / F作为一个函数
f函数可以用这种方式定义:函数f(e){当事件代表事件对象时发生的参数之一
高级事件处理的一个主要优点是给同一个元素注册多个事件处理函数,这些事件的执行顺序无法确定,但通常是为了执行注册,如果注册重复事件函数,只有第一个将生效。
RemoveEventListener()这个方法是用来溶解事件注册,和它的三个参数是相同的()调用addEventListener
(2)IE事件模型
IE事件模型只支持事件冒泡传播。
{事件注册功能}
attacthevent()方法有2个参数,一个是事件名称的前缀是指出,第二是一个事件处理函数,例如,element.attachevent(onclick,F)
当事件发生时,IE事件模型的事件对象不是一个事件处理函数。IE的事件对象是窗口的全局对象。只有在事件发生时才能访问它。
因此,f函数可以用这种方式定义:函数f(){
detachevent()这个方法是用来取消注册的事件,和参数为attacthevent相同()
(attacthevent addEventListener)和()的一个重要区别是attacthevent()注册事件处理函数的这个关键词总是指向窗口,并调用addEventListener()在这一点上一个事件元素发生注册事件处理程序
(3)事件对象与IE和标准事件模型的比较
即事件对象
即事件对象
标准事件对象
标准事件对象
altkey
true指示alt键被按下,false没有。
altkey
true指示alt键被按下。false表示NO。
ctrlkey
true表示Ctrl键被按下,false没有。
ctrlkey
true表示Ctrl键被按下,false没有。
大写键
true表示shift键被按下,false没有。
大写键
true表示shift键被按下,false没有。
按钮
鼠标事件。0,意思是没有按下鼠标键,1是按左键,2是按右键,4是中间键,3是按左右键,5按左键和中间键,6按右边键和中间键,7按左键,中间键和右键。
按钮
0是左键,1键是中间键,2键是右键。
ClientX
在浏览器窗口中鼠标的x坐标(不包括工具栏、滚动条、等等)在事件发生时
ClientX
在浏览器窗口中鼠标的x坐标(不包括工具栏、滚动条、等等)在事件发生时
clienty
同上
clienty
同上
用ScreenX
当事件发生时,鼠标在整个屏幕上的X坐标。
用ScreenX
当事件发生时,鼠标在整个屏幕上的X坐标。
Screeny
同上
Screeny
同上
型
事件的名称(如单击)
型
事件的名称(如单击)
srcelement
导致事件的元素
目标
导致事件的元素
键码
对于按键事件,该按钮的Unicode字符表示,与该按钮的数字代码表示为KeyDown和Keyup事件
字符码
表示键的unicode字符。
键码
表示密钥的数字代码。
cancelbubble
防止事件在值为真时继续冒泡。
里面
可以调用此方法以防止事件继续冒泡。
cancelbubble
true表示事件气泡已被取消,false表示NO。
指定
当某个值为false时,该事件的默认行为将被阻止。
PreventDefault()
调用此方法可以防止事件的默认行为。
offsetx
获取与事件发生时导致事件相关的元素的鼠标的x坐标,即导致事件的元素的左上角(不计算填充和边距)是原点。
到Map Control中
当没有触发事件的元素的动态位置时,动态位置中的父元素的x坐标返回到由事件触发的元素的最近的一个,父元素边界的左上角是原点。
当触发事件的元素被动态定位时,返回与触发事件相关的元素的x坐标,元素边界的左上角是原点。
X
相对于触发事件,鼠标最近的一组元素设置了动态定位的父元素的x坐标,这是父元素边界i的坐角的原始点。
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。