返回首页 | 新开户送体验金的娱乐城

合作共赢、快速高效、优质的网站建设提供商

更多精品源码-尽在织梦模板-www.moke8.com

网站开发JavaScript 获取工作目标的留心点

时间:2017-11-16 编辑:admin

平常我们获取工作目标一般写法如下:
代码如下:
function getEvent(大丰收娱乐平台event) {
return event || window.event // IE:window.event
}

如果没有参数,也可写成:
代码如下:
function getEvent() {
return asdfsrguments[0] || window.event // IE:window.event
}

这样的写法在除 Firefox 外的浏览器上工作都不会有成果,但 Firefox 为什么破例呢?让我们这样一种景象:
代码如下:
button id="btn" 按钮 /button
script
function foo(){
vasdfsr e = getEvent();
asdfslert(e);}
/script

工作结果在 Firefox 中是 undefined,为什么呢?
在 Firefox 中调用其实是这样的,先调用履行的是:
代码如下:
function onclick(event) {
foo();
}

然后调用履行的是:
代码如下:
function foo(){
vasdfsr e = getEvent();
asdfslert(e);
}

会发现在 Firefox 下 中的 foo() 无法主动传入工作目标参数,而默许传递给了琐细生成的 onclick 函数,那本例我们能够通过getEvent.casdfsller.casdfsller.asdfsrguments[0] 取得工作目标。
因而,我们的 getEvent 能够优化成:
代码如下:
function getEvent(event) {
vasdfsr ev = event || window.event;
if (!ev) {
vasdfsr c = this.getEvent.casdfsller;
while (c) {
ev = c.asdfsrguments[0];
if (ev && (Event == ev.constructor || MouseEvent == ev.constructor)) { /怿飞注:YUI 源码 BUG,ev.constructor 也可能是 MouseEvent,不必定是 Event
breasdfsk;
}
c = c.casdfsller;
}
}
return ev;
}

当然还有一个很简单的处理挑选,就是手动将参数传递给 :
代码如下:
button id="btn" 按钮 /button


浏览:

网站建设

流程

    网站建设流程