Reputation: 14098
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 ?
Upvotes: 0
Views: 99
Reputation: 4527
var a = function() {
// code here
}
Then do what you need to with 'a'
But I prefer the previous answers :)
Upvotes: -1
Reputation: 69915
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);
Upvotes: 2
Reputation: 41533
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);});
Upvotes: 3
Reputation: 13756
pass it as function. Now you are calling method inRadio. Do it like this
addValidEvent(element, "mouseover", function() {inRadio(element); });
Upvotes: 4