Witam,
dzisiaj piszę do Was z problemem związanym z zasięgiem funkcji w JavaScript.

Mianowicie mam taki kodzik:
  1. function treeMenu(tree) {
  2. tree = "ul#" + tree;
  3.  
  4. $(tree + " li span").click(function() {
  5. activateTreeElement(this, tree);
  6. });
  7. }
  8.  
  9. function activateTreeElement(element, tree) {
  10. $(tree).find("span").each(function() {
  11. if($(element).hasClass("active") === true) {
  12. $(element).removeClass("active");
  13. }
  14. });
  15. $(element).addClass("active");
  16. }


Skrypcik w funkcji treeMenu widzi zmienną tree, a w funkcji activateTreeElement już jej niestety nie widzi...
Zdefiniowałem globalną zmienną
  1. tree = "ul#" + tree;


Czy ma ktoś z Was pomysł jak sobie z tym poradzić ?

Byłbym bardzo wdzięczny za pomoc...
Nurkowałem u wujka Google ale on mi niestety nie pomógł...
Może korzystałem ze złych słów kluczowych... nie wiem.


EDIT !
Już sobie poradziłem wink.gif
Czasami warto pokombinować samemu...
  1. function treeMenu(tree) {
  2. tree = "ul#" + tree;
  3.  
  4. $(tree + " li span").live('click', function() {
  5. activateTreeElement(this, tree);
  6. });
  7. }
  8.  
  9. function activateTreeElement(element, tree) {
  10. $("ul#tree_menu").find("span").each(function() {
  11. if($(this).hasClass("active") === true) {
  12. $(this).removeClass("active");
  13. }
  14. });
  15. $(element).addClass("active");
  16. }