我有2个事件处理程序:

Y.all(".ptl").on("mouseover", handleOverlay);
Y.all(".ptl").on("mouseout", handleOverlay);


而且我想在鼠标移开时向handleOverlay传递一个修饰符,以便该函数知道用户已退出节点并退出handleOverlay函数。

我试图遵循API http://developer.yahoo.com/yui/3/api/YUI.html#method_on,对我来说,它应该是:

Y.all(".ptl").on("mouseout", handleOverlay, null, null, null, {arg: "myarg});


但是,在handleOverlay中,假设第一个参数是节点,第二个参数在on方法之前是未定义的,然后在不包含传递给它的对象的情况下为null。

function handleOverlay(node, te) {}

node =有问题的节点对象(符合预期)

te =在鼠标悬停之前未定义,在鼠标悬停之后为null。

我确定我缺少一些简单的东西,谢谢。

最佳答案

function mousedOver(e, arg1, arg2, arg3) {
    //blah blah blah arg1 arg2 arg3
}

Y.all("#target").on("mouseover", mousedOver, null, "foo", "bar", "baz");


您可以将任何所需的内容作为这些自定义参数传递。对象,字符串,函数引用……疯了!

10-02 15:18