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对象的具体功能是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)