Maison  >  Article  >  interface Web  >  Analyse du problème du chargement asynchrone de l'arbre jQuery Easyui

Analyse du problème du chargement asynchrone de l'arbre jQuery Easyui

高洛峰
高洛峰original
2016-12-29 13:29:061228parcourir

Quand je veux charger des fichiers json depuis local et les insérer dynamiquement dans ul via des événements, j'ai rencontré un petit bug

Le code dans le html est comme ça

<ul class="easyui-tree" id="tt"></ul>

Code en js

$(".next-menu:nth-child(1) a").click(function() {
var $IDstr = $(this).attr("id"),
$treeIDNum = parseInt($(this).attr("treeID")),
jsonURL = "json/" + $IDstr + ".json",
node;
addAttr2Tree(jsonURL);
changeImgSrc($treeIDNum);
});
});
function changeImgSrc(nodeID){
var node = $("#tt").tree(&#39;find&#39;, nodeID);
if(node){
$("#tt").tree(&#39;select&#39;, node.target);
}
if (node.attributes) {
$("#img-box").attr("src", node.attributes.url);
}
}
function addAttr2Tree(URL){
$("#tt").tree({
url: URL,
method: "get",
animate: true,
lines: true
});
}

Au début, je voulais charger dynamiquement le contenu de l'arborescence via un événement clic sur un bouton, qui est le code ci-dessus, addAttr2Tree est utilisé pour ajouter les données json locales correspondant au moment où le bouton est cliqué à la balise ul en HTML, changeImgSrc est utilisé pour sélectionner certains nœuds d'arborescence et charger des images, mais peu importe la façon dont vous déboguez, une erreur sera toujours apparaît

关于 jQuery Easyui异步加载tree的问题解析

Impossible d'obtenir l'attribut attributs ! ! ! J'ai confirmé à plusieurs reprises que les attributs sont intacts dans le fichier json et cette erreur se produit toujours lorsque je clique sur le bouton pour la première fois et par la suite, cette erreur ne se produit pas

Plus tard, j'ai pensé que c'était le cas. parce que la vitesse de chargement dynamique des données json n'est pas aussi rapide que la vitesse d'exécution du code du programme ? !

C’est exactement ce à quoi je m’attendais ! L'arbre dans easyui est livré avec une méthode onLoadSuccess Lorsque les données sont chargées avec succès, certaines opérations seront effectuées
Donc

$(".next-menu:nth-child(1) a").click(function() {
var $IDstr = $(this).attr("id"),
$treeIDNum = parseInt($(this).attr("treeID")),
jsonURL = "json/" + $IDstr + ".json",
node;
addAttr2Tree(jsonURL);
$("#tt").tree({
onLoadSuccess: function(){
changeImgSrc($treeIDNum);
}
});
});

Le code est modifié. à ça, c'est tout.

Ce qui précède est l'analyse du problème de l'arbre de chargement asynchrone jQuery Easyui introduit par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra. vous à temps. Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois !

Pour plus d'articles sur l'analyse des problèmes de chargement asynchrone de l'arbre jQuery Easyui, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Style Bootstrap Style WPFArticle suivant:Style Bootstrap Style WPF