JavaScriptда Клавиш-модификаторларни Kuzatish
Event объекти ёрдамида
Ctrl,
Alt ва Shift тугмалари вокеа paytida босилган-босилмаганини билиш мумкин. Бу
ctrlKey, altKey
ва shiftKey хоссалари ёрдамида амалга оширилади - улар true
ёки false қийматларига эга, вокеа paytida у тугма босилган ёки босилмаганлигига қараб.
Келгина, мисол билан кўрамиз. Бизда куйидаги тугма бор деб фараз қилайлик:
<button id="elem">text</button>
Тугмани босганда, Ctrl,
Alt ва Shift тугмаларининг бири босилган-босилмагани хақида хабар чиқарамиз:
let 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 босилди');
}
});
Элемент берилган. Унга босилганда, у қизил рангга кириши учун код ёзинг, лекин фақат
Alt тугмаси босилган paytдагина.
Сизда ul рўйхати ва унинг
li теглари бор деб фараз қилайлик:
<ul id="elem">
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
Хар қандай li га босилганда,
унинг матни охирига 1 рақами қўшилсин,
агар Ctrl тугмаси босилган бўлса, ва
2 рақами қўшилсин, агар Shift тугмаси босилган бўлса.