Калидҳои модификаторро дар JavaScript пайгирӣ кардан

Бо ёрии объекти Event шумо метавонед маълум кунед, ки оё калидҳои Ctrl, Alt ва Shift дар лаҳзаи рухдод фишурда шуда буданд ё не. Ин бо ёрӣ аз хусусиятҳои ctrlKey, altKey ва shiftKey анҷом дода мешавад - онҳо арзиши true ё false доранд, ки ба он вобаста аст, ки оё ин калид дар лаҳзаи рухдод фишурда шуда буд ё не.

Биёед ба мисол нигарем. Фарз кунем, ки тугмаи зерин ба мо дода шудааст:

html<button id="elem">матн</button>

Дар замири клик кардан ба тугма, мо паёмеро чоп мекунем, ки оё яке аз калидҳои Ctrl, Alt ва Shift фишурда шуда буд:

javascriptlet elem = document.querySelector('#elem');

elem.addEventListener('click', function(event) {
  if (event.ctrlKey) {
    console.log('Ctrl фишурда шуд');
  }
  
  if (event.altKey) {
    console.log('Alt фишурда шуд');
  }
  
  if (event.shiftKey) {
    console.log('Shift фишурда шуд');
  }
});
Задание 1

Элемент дода шудааст. Чунон созед, ки дар замири клик кардан ба он, он ба рангоби сурх ранг карда шавад, вале танҳо агар дар лаҳзаи клик калиди Alt фишурда бошад.

Задание 2

Фарз кунем, ки шумо рӯйхати ul бо тегҳои li доред:

html<ul id="elem">
  <li>матн</li>
  <li>матн</li>
  <li>матн</li>
  <li>матн</li>
  <li>матн</li>
</ul>

Чунон созед, ки дар замири клик кардан ба ягон li, ба охири матни он рақами 1 илова карда шавад, агар калиди Ctrl фишурда бошад, ва рақами 2, агар калиди Shift фишурда бошад.