[Exercises] jQuery and AJAX - 1. Add / Delete Items ( Tricky bug )
Изчетох 50+ страници stackoverflow, пробвах всичко познато за мен и за загубените ми 5-6 часа не установих къде бъркам, може би съм търсил грешки в кода, а не точно за този проблем, но все пак не успях да го оправя, please help.
Ето проблема:
Когато импортна JS-а в HTML файла със <script>...</script> в body-то, всичко е наред ето кода: цък
Обаче,
ако са в отделни файлове всичко работи, без функцията за Add с Enter от клавиатурата. Най-лесно ми е да пратя работещото решение, но след като загубих толкова време да се мъча по кода реших да питам къде е проблема, ако някой успее да ми обясни да си знам поне .
Ето и кода от решението в отделни файлове: HTML и JS .
ААААААААААААААААааа не мога да повярвам, че не се сетих за това целия ми ден отиде по дяволите. Знам че се зарежда първо скрипта ама въобще не съм зацепил, че може да е заради това щото другите функции си ми работят, ама то нормално всичките се извикват от HTML файла при някакъв action.. Аз съм най-тъпия човек на планетата. Благодаря все пак.
Другият път когато испаднеш в подобна ситуация (евентуално ще намериш решение по-бързо) ще се сетиш от какво може да е понеже вече си се сблъсквал с този проблем, за това не съжалявай за изгубеното време, то ти носи ценен опит.
Съвети:
№1:
Console.log ти е най-добрият приятел :) винаги когато взимаш нещо с js и не става това, което очакваш, логвай какво ти връща селектора :) ест ако е повечко логика дебъгваш.(Отнася се и за други операции разбирасе, давам просто пример за вземане на елемент)
№2:
Не дръж кода в глобалният скоуп - в document.ready() ще е по-добре, а още по-добре е ако ползваш IIFE
ex:
(function($) {
// TODO: Your code here...
}(jQuery))
така целият ти код ще е в скоупа на функцията (ако ти трябват общи неща между различните ти файлове можеш да закачваш обект в който да ги пазиш или в краен случай ама много краен :Д на window).
Успех!
Много благодаря за изчерпателния отговор.