Hi guys.
My problem before dealt with variable values rather than function
access. Here I'm creating an onclick handler, which I want to execute
a sibling function within the object that created it. I've got an
object with several methods, like so:
object {
addArticle ()
removeArticle()
addElement()
}
Inside of my addElement I have an onclick assignment like so:
deletef = function(id) {
// create <img> and <a> elements...
deleteLink.observe('click',function(id){this.removeArticle(id);});
<---
return deleteLink;
div.appendChild(deletef(id));
I know that the problem is that when I click the link, the function is
now executing in the scope of the <a> element, not in that function. I
tried to assign 'this' to a variable and pass that through, but that
didn't seem to work either. ie.
addElement (id) {
var scope = this;
deletef = function(id,scope) {
// create <img> and <a> elements...
deleteLink.observe('click',function(id,scope)
{scope.removeArticle(id);}); <---
}
}
Is there a way for me to preserve the scope from when It was
originally created?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---