Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.06.2013, 13:07
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

Вложенный список
Делаю бесконечную вложенность списка. При клике на li в нём создаётся новый список, в новом списке при клике на li опять создаётся новый список и так до бесконечности. Но, к сожалению, возникают баги, когда вложенность списка 3-го уровня и больше. Создаются лишние списки или создаются не в том элементе, где кликнуто и тд.
Сам скрипт:
function createElementsIn(parent, number) {
			
				var ul = document.createElement("ul");
			
				for(var i = 0; i < number; i++) {
			
						var li = document.createElement("li");
						
						li.innerHTML = i + 1;
						
						li.onmousedown = function(element) {
						
								return function() {
										
										createElementsIn(element, 3);
																
								}
												
						}(li);
			
						ul.appendChild(li);
				}
			
				parent.appendChild(ul);
		}
		
		window.onload = function() {
				
				createElementsIn(document.body, 3);
				
		}

В чём дело?

Последний раз редактировалось JsLoveR, 11.06.2013 в 13:10.
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2013, 13:38
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

конечно создаются лишние элементы, ведь событие поднимается по иерархии и запускает обработчики событий родителей
можно его остановить с помощью stopPropagation например
li.onmousedown = function(element) {
  return function(e) {
    e.stopPropagation();
    createElementsIn(element, 3);     
  }
}(li);
Ответить с цитированием
  #3 (permalink)  
Старый 11.06.2013, 18:03
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

mta88, спасибо. Почитал об этом тут
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен полноценный список.... lolbla2 Общие вопросы Javascript 3 16.04.2013 22:50
селект переделанный под список Vasёk18 Элементы интерфейса 0 13.04.2012 23:49
Динамически разворачивающийся/сворачивающийся список tropiko jQuery 3 24.06.2011 10:38
Заполнить список значениями из динамически созданного выпадающего списка zhuzha Элементы интерфейса 0 17.08.2010 14:40
Как получить список пользовательских функций объекта window? Маэстро Events/DOM/Window 13 03.07.2010 13:20