So i have this code in javascript that replaces the text from the html, depending on the language you click on ( romanian or english, default is romanian). I tried all of the 3 ways i know for the click action, but none of them work. Can you please help me?
EDIT:
The first couple of instructions don't work at all ( nothing happens, not even when clicking on them). Then, the last bouth couples execute at the onload (but don't work after, when click on them). I see that using addEventListener with the listener function doesn't work with other parameters than just the event itself, but I'm still confused about the other ways
<html lang = "en">
<head>
<title>
Website
</title>
<meta charset = "UTF-8">
</head>
<body>
<a id='english' >English</a>
<a id='romanian'>Romanian</a>
<p id="paragraph">
Bine ai venit pe site-ul meu!
</p>
<script>
localStorage.setItem("languageStored" , "romanian");
var language = {
eng: {
welcome: "Welcome to my website!"
},
ro: {
welcome: "Bine ai venit pe site-ul meu!"
}
};
window.onload = function()
{
let optEngl = document.getElementById('english');
let optRo = document.getElementById('romanian');
// optRo.setAttribute('click' ,'languageChange(this , optRo)' );
// optEngl.setAttribute('click','languageChange(this , optEngl)');
// optEngl.onclick = languageChange(this , optEngl);
// optRo.onclick = languageChange(this , optRo);
// optEngl.addEventListener("click" , languageChange(this , optEngl));
// optRo.addEventListener("click" , languageChange(this , optRo));
}
function languageChange(e , obj)
{
let languageStored = localStorage.getItem("languageStored");
if(languageStored != obj.id)
{
console.log(obj.id);
languageStored = obj.id;
localStorage.setItem("languageStored" , languageStored);
if(languageStored == "english")
document.getElementById('paragraph').textContent = language.eng.welcome;
else
document.getElementById('paragraph').textContent = language.ro.welcome;
}
}
</script>
</body>
</html> ```