2009-03-25 5 views
0

A l'intérieur de ma fonction "dom ready", je crée un TabView sur un élément HTML et appelle tabview.getTab (0) .blah(). Malheureusement, de temps en temps, je reçois une erreur que tabView.get ("tabs") retourné null dans ma console javascript (firefox).YUI TabView.get ("tabs") => null: condition de concurrence?

 YAHOO.util.Event.onDOMReady(function() { 
     tabview = new YAHOO.widget.TabView("content"); 
     var tab0 = tabview.getTab(0); 
      ... 

tabview.getTab (0) est mise en oeuvre en tant que tabs.get ("pattes") [0].

Cela arrive parfois mais pas toujours. Quelqu'un at-il une explication pour expliquer pourquoi cela arrive parfois? L'événement DOMReady se produit après que le DOM entier est en place mais avant que quelque chose ne soit affiché, n'est-ce pas?

En parlant de cela, parfois je vois des clignotements de données dans certains des autres onglets. Cela ne présage rien de bon pour l'expérience agréable et propre que j'espérais.

C'est YUI 2.7.0/

Répondre

0

OK - Je crois que la réponse est, je tentais d'utiliser prototype et YUI en même temps. En théorie, je pense que c'est possible mais vous devez choisir l'un ou l'autre quand il s'agit de faire des choses sur les événements "dom: loaded"/onDOMReady, si vous voyez ce que je veux dire. Donc je ne sais pas ce qui se passait, mais c'était une sorte de course, et une fois que j'ai choisi un seul mécanisme pour faire les choses quand le dom était prêt, tout fonctionnait bien.

Questions connexes