关于js匿名函数参数传递的问题

近日看到js中处理拖放问题时有如下代码:varoDraggable=new...varoDrapTarget=new...oDraggable.addDropTarget... 近日看到js中处理拖放问题时有如下代码:
var oDraggable = new ...
var oDrapTarget = new ...
oDraggable.addDropTarget(oDragTarget);
//注意下面一行代码,不懂得地方来了
oDropTarget.addEventListener("drop", function(oEvent){....});

请问: oEvent是怎么传递过来的,是谁传递给这个匿名函数的?
展开
 我来答
talenthell
2012-10-25 · TA获得超过288个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:173万
展开全部
Listener自带的参数,当触发Listener事件时就会自动传这个参数到这个方法
追问
能不能说详细一点,listener还带别的参数吗,是谁调用了这个匿名函数。在哪里可以找到详细一点的资料。
追答
打个比方
你的Listener是监听click 鼠标单击事件
监听的对象是一个button按钮
那么当你点击按钮的时候,监听自动调用function中的函数,如果这个参数是object类型, 那么就获取到了这个button的对象

同理 你这里是“drop“事件 参数应该是event类型 那么当你执行drop操作的时候,就会得到drop这个动作的事件,对方法而言,其实未必会用得到这个事件,提供这个参数只不过为了让程序员获取方便。
goshimo
2012-10-25 · TA获得超过524个赞
知道小有建树答主
回答量:883
采纳率:0%
帮助的人:449万
展开全部
addEventListener方法的实现中会调用到那个匿名函数,并传递参数进去
例如:
function DropTarget() {
this.addEventListener = function(stringEvent, fnHandler) {
var oEvent = ....;
// ...
fnHandler(oEvent);
// ...
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一小子攻城狮
2012-10-25 · TA获得超过1515个赞
知道小有建树答主
回答量:695
采纳率:0%
帮助的人:195万
展开全部
这个属于内部机制吧
oEvent准确说是一个事件对象
就算是手动添加事件时如:
obj.onclick=function(event){}
也是可以加上的这个参数的 但是这种只支持标准(w3c)的浏览器 火狐等
ie的话这个事件对象是以全局对象的形式存在的 window.event 所以不用传参
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式