JavaScript里面var e=window.event;var obj=e.srcElement;什么作用

JavaScript里面var e=window.event;var obj=e.srcElement;什么作用,第1张

var e=windowevent;

是获取事件对象,这里是IE下的,event是window的一个属性;

var obj=esrcElement;

是获取发生事件的那个元素,这个元素是一个对象,这也是IE下的。

要实现所有浏览器兼容,就用以下代码:

var e = windowevent || event;

var obj = esrcElement || etarget

通过dom对象的id进行判断

举例:

1

2

3

4

var a = documentgetElementById('dom对象的id');//通过getelementbyid方法获取dom节点

if(a){//如果a非null,则表示获取到了dom对象

//存在

}

补充:

getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。

event对象只在事件发生的过程中才有效(比如鼠标点击,键盘按下等)。

event对象用以表示事件的状态,

例如

触发event对象的元素(eventsrcElement)、

鼠标的位置(eventclientX、eventclientY)、

按下的键(eventkeyCode)等等。

event对象的属性包括:

altKey,

button,

cancelBubble,

clientX,

clientY,

ctrlKey,

fromElement,

keyCode,

offsetX,

offsetY,

propertyName,

returnValue,

screenX,

screenY,

shiftKey,

srcElement,

srcFilter,

toElement,

type,

x,

y

(可以详细查看参考书)

使用event的方法:

定义

var

evt

=

windowevent;

FF中不能通过该方法得到event对象,可以通过传值的方法:

elementonclick

=

function(e){

var

evt

=

windowevent

||

e;

}

用event获得点击时鼠标的坐标

elementonclick

=

function(e){

var

evt

=

windowevent

||

e;

var

cursorPOS

=

{

x

:

evtclientX,

y

:

clientY

}

}

用event对象指定当按下回车键时,d出警告框

elementonkeydown

=

function(e){

var

evt

=

windowevent

||

e;

if(evtkeyCode==13){

alert('按下了回车!');

}

}

用event获得鼠标点击的DOM对象

documentonclick=function(e){

var

evt

=

windowevent

||

e;

var

_target

=

evtsrcElement

||

evttarget;

alert(_targettagName)

}

更多的使用,请参考教材。

1、this 表示这个<input> 元素,等同于documentgetElementById;

2、a)你的理解是正确的,但是不仅只有undifined会被强制转换。

    js的弱类型,让他可以申明后赋任何类型的值。

因此除了bool型的false,number类型的0,String类型的空串,还有null在三元运算符或者判断条件时都会被转成false

其他还有一些,可以看一看比较基础的javascript书和《javascript高级程序设计》,可谓一阅扫百惑,比在网上别人一知半解的讲述了解的更彻底。

b)通过上面的解答,应该知道为什么不能用event代替this了吧

c)js对于函数的定义是非常松,即使你在函数定义时未写任何参数,或者你定义的参数有多个,但是你调用时,一个参数也不填,也不会出错的。

js函数内默认有个变量,保存你的入参叫:arguments

他是一个数组,下标从0开始,

所以获取event可以写成

function Test(){

var event = windowevent||arguments[0];

}

在ie下,事件对象是在全局的,也就 window下,做为window的一个属性

在其他浏览器,都做为方法的第一个参数传入,所以这样写是为了兼容

要获取这个button的值,可以先获取这个对象,event既然是事件,肯定是某对象触发的

所以有这要一个方法

ie下是eventsrcElement

其他浏览器是eventtarget

所以获取这个对象和获取事件对象的值可以这样写

function Test(){

var event = windowevent||arguments[0],

//target 就是这个对象

target = eventsrcElement||eventtarget,

//这个对象的值

targetValue = targetvalue;

}

通过这个even,可以获取到eventtarget,点击的对象等等属性。

event详情:

1、event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。

2、event对象只在事件发生的过程中才有效。

3、至于event这个参数传不传,是为了兼容浏览器。

4、在IE下,windowevent是有效的,所以可以不用传event参数,Firefox下没windowevent这个对象,event只会通过参数传递进来。

一、windowevent代表着事件对象的状态。只有在事件发生时生效。如鼠标、键盘等事件被触发时这个对象才存在。windowevent这只在IE下是这样的。他并不是标准。。也就是说其他浏览器并不支持。在W3C标准支持的浏览器下事件对向是引发事件涵数的第一个参数,参数名随意。

二、javascript函数(方法)d()

参数为e||windowevent  表示e或windowevent  这句话是跨浏览器的写法  支持这两种方式的 浏览器才能进入该方法,IE中该对象为windowevent(window可省略)  而Firefox中该对象为e  ,至于该对象是什么:该对象代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等  例如:获取光标位置 eventclientX eventclientY

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

(参考资料 百度百科 JavaScript)

以上就是关于JavaScript里面var e=window.event;var obj=e.srcElement;什么作用全部的内容,包括:JavaScript里面var e=window.event;var obj=e.srcElement;什么作用、如何判断event发生的位置是否为dom元素、javascript event对象的具体功能是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9576394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存