если условие условия меняет стиль элемента? - PullRequest
0 голосов
/ 30 августа 2018

У меня есть следующий 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 на красный, и я не уверен, почему это так.

Если кто-то знает, почему это происходит, я рад знать, почему. Заранее спасибо!

1 Ответ

0 голосов
/ 30 августа 2018

Это происходит потому, что внутри вашего оператора if он не проверяет, является ли он красным, а присваивает его красному. Один символ = назначает значение, а два (или три) == или === проверяют его. Итак, ваш код должен быть таким:

if (input.style.borderColor === "red") {
  input.onkeydown = function () {
    input.style.borderColor = "black";
  };
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...