У меня есть следующий Javascript, который намеревается провести function, если у input есть border-color: red;, как показано ниже:
if (input.style.borderColor = "red") {
input.onkeydown = function () {
input.style.borderColor = "black";
};
};
Однако происходит то, что условие if: (input.style.borderColor = "red") фактически меняет цвет border-color на красный, и я не уверен, почему это происходит.
Если кто-нибудь знает, почему это происходит, я благодарен за это. Заранее спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это происходит потому, что внутри вашего оператора if он не проверяет, присваивает ли его красный цвет ему красный цвет. Один символ = присваивает значение, а два (или три) == или === проверяют его. Итак, ваш код должен быть таким:
if (input.style.borderColor === "red") {
input.onkeydown = function () {
input.style.borderColor = "black";
};
};