$(document).on("keydown", (e) => { if (e.ctrlKey) { switch (e.keyCode){ case 38: wrapper.children().each(function () { $(this).css("background-color", "rgb(" + getRandomChanel() + ", " + getRandomChanel() + ", " + getRandomChanel() + ")") }); break; case 82: case 71: case 66: wrapper.children().each(function () { let colors = ($(this).css("background-color")).match(/[0-9]{1,3}/g); let r = parseInt(colors[0]); let g = parseInt(colors[1]); let b = parseInt(colors[2]); if(e.keyCode === 82 && r > g && r > b){ $(this).remove(); }else if(e.keyCode === 71 && g > r && g > b){ $(this).remove(); }else if(e.keyCode === 66 && b > r && b > g){ $(this).remove(); } }); break; } console.log(e); return false; } });换种方式编写
时间: 2024-01-17 20:06:10 浏览: 77
编辑框限制输入特定文本例程.e.rar
可以使用普通的键盘事件监听器来替代jQuery的on()方法,也可以使用switch语句中的if-else语句来替代switch语句。另外,可以使用arrow function来替代普通的函数声明。下面是一种可能的替代方式:
```javascript
document.addEventListener("keydown", (e) => {
if (e.ctrlKey) {
if (e.keyCode === 38) {
wrapper.children().each(function () {
$(this).css("background-color", "rgb(" + getRandomChanel() + ", " + getRandomChanel() + ", " + getRandomChanel() + ")");
});
e.preventDefault();
} else if (e.keyCode === 82 || e.keyCode === 71 || e.keyCode === 66) {
wrapper.children().each(function () {
let colors = ($(this).css("background-color")).match(/[0-9]{1,3}/g);
let r = parseInt(colors[0]);
let g = parseInt(colors[1]);
let b = parseInt(colors[2]);
if ((e.keyCode === 82 && r > g && r > b) ||
(e.keyCode === 71 && g > r && g > b) ||
(e.keyCode === 66 && b > r && b > g)) {
$(this).remove();
}
});
e.preventDefault();
}
}
});
```
这个替代方式中,我们使用了addEventListener()方法来替代jQuery的on()方法。我们还使用了if-else语句来替代switch语句,这样能够更加清晰地表达代码逻辑。同时,我们使用了e.preventDefault()来阻止默认行为,这样可以避免在处理键盘事件时出现问题。
阅读全文