Как проверить, была ли вызвана функция или нет - PullRequest
1 голос
/ 28 марта 2020

Например, мой код подобен приведенному ниже.

Я бы хотел изменить класс, щелкнув и наведя курсор.

Но это не сработало.

Я бы хотел знаете,

① Как проверить неправильную точку?

② Как исправить такую ​​неправильную точку?

Я пытался console.log, но я хотел бы знать, функция correctly mapped и correctly work.

Спасибо

var $ = jQuery;
const $days = $(this).find('.day');

function register() {

  function clicked() {
        $(this).toggleClass(is-clicked);
   }
  
  function hoverRange(){
      $(this).addClass(is-hover);
  }
  
  $days.on({
    click: clicked,
    hover: hoverRange,
  });
  
 }
  
 $("#calendar").each(register);
td{
padding:10px;
border:solid  black 1px;}

table{
border-collapse:collapse;}

is-clicked{
background-color:aqua;
}

is-hover{
background-color:yellow;
}
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>

<div id=calendar>
  <table>
    <tr>
      <td class=day>1</td>
      <td class=day>2</td>
      <td class=day>3</td>
    </tr>
  </table>
</div>

1 Ответ

2 голосов
/ 28 марта 2020

вы используете неправильный код в click событии

  1. у вас должно быть . в вашем css классе.
  2. вы должны использовать this, когда событие сработало, вы пытались вызвать с помощью $days, что неверно.
  3. для hover вам не нужно писать метод для этого, я обновил код.

var $ = jQuery;
const $days = $(this).find('.day');

function register() {
  function clicked() {
    alert("clicked");
    $(this).toggleClass('is-clicked');
  }

  $(this).on({
    click: clicked
  });
}
$("#calendar").each(register);
td {
  padding: 10px;
  border: solid black 1px;
}

table {
  border-collapse: collapse;
}

.is-clicked {
  background-color: aqua;
}

td:hover {
  background-color: yellow;
}
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>

<div id=calendar>
  <table>
    <tr>
      <td class=day>1</td>
      <td class=day>2</td>
      <td class=day>3</td>
    </tr>
  </table>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...