Я пытался назначить события onclick для нескольких элементов HTML
. Я пытаюсь сделать как можно меньше кода, используя только одну функцию. Я знаю простой способ сделать это, добавив атрибуты событий к элементам HTML, например:
<body>
<p id="demo1" onclick="myFunc(this)">Paragraph 1</p>
<p id="demo2" onclick="myFunc(this)">Paragraph 2</p>
<script>
function myFunc(para) {
para.style.color = "red";
}
</script>
Но если бы я добавил много атрибутов событий к нескольким элементам HTML, HTML-документ был бы беспорядком, верно? поэтому я предпочел бы сделать код в JavaScript. Но проблема в том, что когда я назначаю код в Js и нажимаю на один из тегов
, они оба срабатывают (кстати, я очень новичок в кодировании i Js, так что, возможно, из-за моей глупости)
<body>
<p id="demo1">Paragraph 1</p>
<p id="demo2">Paragraph 2</p>
<script>
var x = document.getElementById("demo1").onclick = myFunc;
var y = document.getElementById("demo2").onclick = myFunc;
function myFunc() {
if (x == document.getElementById("demo1").onclick) {
document.getElementById("demo1").style.color = "red";
}
if (y == document.getElementById("demo2").onclick) {
document.getElementById("demo2").style.color = "red";
}
}
</script>