function addValidEvent(item,event,func)
{
if (item.addEventListener)
{
item.addEventListener(event, func, false);
}
else
if (item.attachEvent)
{
item.attachEvent("on" + event, func);
} else {
//todo
}
}
I call it like
addValidEvent(element, "mouseover", inRadio(element));
inRadio this is other function, I need to register this with out call a inRadio in addValidEvent call.
How to correct pass the function like param ?
pass it as function. Now you are calling method inRadio. Do it like this
addValidEvent(element, "mouseover", function() {inRadio(element); });
The context on which your function is called is the element itself, so you could pass the function reference(name) as the event handler:
addValidEvent(element, "mouseover", inRadio);
or you can wrap your function call in an anonymous function(this might come in handy when you want to have more control over the callback) :
addValidEvent(element, "mouseover", function(){inRadio(element);});
In your code you are actually calling the function and the return value of that call is being passed as thrid argumnent to addValidEvent
method.
Try this.
addValidEvent(element, "mouseover", inRadio);
As a side note: Since jQuery is tagged to this question I would suggest you to use jQuery for this which is so simple.
$(element).mouseover(inRadio);
var a = function() {
// code here
}
Then do what you need to with 'a'
But I prefer the previous answers :)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.