* import com.ycccc.utils.JEventDelegate
stage.addEventListener(MouseEvent.MOUSE_DOWN,JEventDelegate.create(mouseDownHandler,"a","b"));
function mouseDownHandler(e:MouseEvent,...arg) {
trace(e)
trace(arg)
}
*/
package com.ycccc.utils{
public class JEventDelegate {
public function JEventDelegate() {
}
public static function create(f:Function,... arg):Function {
var F:Boolean=false;
var _f:Function=function(e:*,..._arg){
_arg=arg
if(!F){
F=true
_arg.unshift(e)}
f.apply(null,_arg)
};
return _f;
}
public static function toString():String {
return "Class JEventDelegate";
}
}
}
使用格式如下:
import com.ycccc.utils.JEventDelegate
stage.addEventListener(MouseEvent.MOUSE_DOWN,JEventDelegate.create(mouseDownHandler,"a","b"));
function mouseDownHandler(e:MouseEvent,...arg) {
trace(e)
trace(arg)
}
//这样的好处是既保留了原有的event参数,又能够传递新的参数
//这个类就专门针对addListener注册的事件的执行方法~
给事件侦听启动的函数传递参数一
可以扩展Event类,象你这样简单的传参,也可以这样:
function create(f:Function,... arg):Function {
var F:Boolean=false;
var _f:Function=function(e:*){
var a:*=arg
if(!F){
F=true
a.unshift(e)
};
f.apply(null,a);
};
return _f;
}
stage.addEventListener(MouseEvent.MOUSE_DOWN,create(mouseDownHandler,"a","b"));
function mouseDownHandler(e:MouseEvent,...arg) {
trace(arg);
}
分享到:
相关推荐
addEventListener 有三个参数:第一个参数表示事件名称(不含 on,如 “click”);第二个参数表示要接收事件处理的函数;第三个参数为 useCapture,本文就讲解它。 代码如下: ”outDiv”> ”middleDiv”> ”...
本文为大家介绍下动态的绑定事件的方法addEventListener的使用示例,不了解的朋友可以参考下
这三个事件只在手机上生效 touchstart:手指开始触屏 touchmove:手指移动 touchend:手指触屏结束 这个事件在手机上跟在pc端都生效 scroll事件 addeventlistener(name,callback,optional,useCapture) useCapture...
本文实例讲述了JavaScript使用addEventListener添加事件监听用法。分享给大家供大家参考。具体实现方法如下: <!DOCTYPE html> <html lang=en> <head> <title>This text is the title of the...
NULL 博文链接:https://zhang-yingjie-qq-com.iteye.com/blog/321486
所有的DOM节点中都包含这两种方法,并且它们都接受3个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。 最后这个布尔值参数是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用...
可能你也碰到过这种情况,就是在js的代码中用了[removed]后,可能会影响到body中的onload事件。你可以全写在body中,也可以全放到[removed]中,但是这样并不是很方便,有时我们需要两个同时用到。这时就要用window....
今天在给元素注册事件的时候,使用addEventListener遇到了一个问题,这个好像之前也遇到过,觉得有必要总结一下,就是js函数作为参数引发的问题。首先看以下代码,觉得下面代码有问题吗?是否能达到点击id3对应的...
在低版本的IE和火狐上,事件传递机制不一样,需要通过window.event来获取事件 window.event||e 二、事件绑定和取消 1. 事件绑定 添加事件的做法,若出现为同一个节点绑定了同名的事件,会出现覆盖效果。 ...
EventTarget是一个由...addEventListener() 方法将指定的监听器注册到 EventTarget 上,当该对象触发指定的事件时,指定的回调函数就会被执行。 事件目标可以是一个文档上的元素 Element,Document和Window或者任何其
所有的DOM节点中都包含addEventListener()与removeEventListener()这两种方法,用于追加事件和删除追加。 接受参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。 (3个) 最后这个布尔值参数是true,表示在...
attachEvent与addEventListener区别适应的浏览器版本不同,同时在使用的过程中要注意
使as3事件支持参数的代理类,通常as3的事件只能调一个方法,不能传参数,如: addEventListener(MouseEvent.MOUSE_DOWN, mouseDowV);
主要介绍了addEventListener 的用法,需要的朋友可以参考下
函数名,记住不要跟括号最后一个参数是个布尔值,表示该事件的响应顺序,下面重点介绍一下addEventListener的第3个参数(useCapture)。 userCapture若为true,则浏览器采用Capture,若为false则采用bubbing方式。建议用...