jQuery SimpleTree как создать обработчик нажатия на +

Ekaterina

Новичок
jQuery SimpleTree как создать обработчик нажатия на +

Как создать обработчик события нажатия на +(знак закрытого узла дерева) в jQuery SimpleTree.
 

Ekaterina

Новичок
Попробую, но мне кажется, что это будет клик по самому узлу дерева, а не плюсику.
А может быть вы посоветуете как сделать элемент root кликабельным. Добавляла к нему класс "close", тогда корневой элемент превращается в папку с плюсиком, который не работат и дерево не сворачивает. Чувствую, что что-то надо поменять в основном скрите дерева, но что именно, не соображу.
 

CHEM_Eugene

Новичок
Там узлом является <li id="5" class="folder-close-last">,
на этот класс css-ом вешается background-image, это как раз изображение крестика и папочки. Вот пример. Вот на этот li по id и вешайте выше указанный обработчик click.
 

dimagolov

Новичок
CHEM_Eugene, вы уверенны? потому что по стандарту id не может начинаться с цифры.
 

Ekaterina

Новичок
Делаю вот так: и функция click() не срабатывает
Код:
<script language="javascript">
				var simpleTreeCollection, h2, h1;
							
				$(document).ready(function(){
				
				
				//});
				   
					simpleTreeCollection = $('.simpleTree').simpleTree({
						imgFolder:		'jss/simpletree/skin_default/',
						autoclose: true,
						drag: true,
						afterClick:function(node){
							//window.location.href = "?id="+node.attr("id");
							//alert("text-"+$('span:first',node).text());
							//alert(node.attr("id"));
							
							$("span.id2").html($('span:first',node).text());
							
							 
							
							h1 = document.getElementById("a").parentNode.offsetHeight; 
														
							var nodes_close = [2, 3];
							$(nodes_close).each(function(i){
								var node=$(".simpleTree #"+nodes_close[i]);
								node[0].className = node[0].className.replace("folder-open","folder-close");
								$(">ul", node).hide();
								node.parents("li").each(function(t){
									if(this.className!="root")
										{
											this.className = this.className.replace("folder-open","folder-close");
											$(">ul", this).hide();
										}
							});
							});
							
							
							//document.getElementById("111").className = 'folder-close';
							//$(">ul", node).hide();
							//document.getElementById("1").className += ' folder-close';
							
							
							//$("ul.simpleTree li#111").className.replace("folder-open"); 
							//alert(document.getElementById("111").className);  
							//$("ul.simpleTree").remove();
							//$("ul.simpleTree li#111").removeClass();
							//$("ul.simpleTree li#111").addClass('folder-close');
                            //simpleTreeCollection.get(1).convertToDoc(node);
															
														
							h2 = document.getElementById("a").parentNode.offsetHeight;     
							//$("div#a").hide();
							document.getElementById("b").style.height = document.getElementById("b").parentNode.offsetHeight +h1- h2 +'px';
							
																			  
							
						},
						afterDblClick:function(node){
							//alert("text-"+$('span:first',node).text());
						},
						afterMove:function(destination, source, pos){
							//alert("destination-"+destination.attr('id')+" source-"+source.attr('id')+" pos-"+pos);
						},
						afterAjax:function()
						{
							//alert('Loaded');
						},
						animate:true
						,docToFolderConvert:true
					});
				  $("ul.simpleTree li.folder-open-last #111").click(function(){	
				  
				     h3= document.getElementById("a").parentNode.offsetHeight; 
				     h4 = document.getElementById("a").parentNode.offsetHeight;     
				     document.getElementById("b").style.height = document.getElementById("b").parentNode.offsetHeight -h3+ h4 +'px';		
				     
				     });
				
				
				});	
				
				
			</script>
-~{}~ 01.10.08 12:39:

Все работает, спасибо всем за помощь по первому вопросу.

Может кто-то знает как сделать элемент "root" кликабельным?
 
Сверху