2010-03-08 4 views
0

У меня есть 2 обработчиков событий:Как передать аргументы обратным вызовам метода «on» метода YUI3?

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

И я хотел бы передать arugment в 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) {}

узел объект = узел в вопросе (как ожидался)

т.х = не определен до наведения курсора мыши, и нуль после отведения указателя мыши.

Я уверен, что мне не хватает чего-то простого, спасибо.

ответ

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

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

Вы можете передавать все, что захотите, в качестве этих настраиваемых аргументов. Объекты, строки, ссылки на функции ... сходите!

+0

Спасибо, тон, я, должно быть, неправильно читал API, думая, что для аргументов только шестое место. – user103219