ใช้งานได้ใน Firefox และ Chrome
ฉันจำเป็นต้องเปิดไฟล์ html พิเศษในเครื่อง (โดยการกดEnter
เมื่อไฟล์ถูกเลือกใน file explorer ใน Windows) ไม่ว่าจะเพื่อดูไฟล์หรือแก้ไขในโปรแกรมแก้ไขออนไลน์พิเศษ
ดังนั้นผมจึงอยากจะเห็นความแตกต่างระหว่างทั้งสองตัวเลือกโดยถือลงCtrl
-key Enter
หรือไม่ในขณะที่กด
อย่างที่คุณเข้าใจจากคำตอบทั้งหมดที่นี่ดูเหมือนว่าจะไม่สามารถทำได้จริง ๆ แต่นี่เป็นวิธีที่เลียนแบบพฤติกรรมนี้ในแบบที่ฉันยอมรับได้
วิธีการทำงานเป็นดังนี้:
หากคุณกดปุ่มCtrl
-key ค้างไว้เมื่อเปิดไฟล์เหตุการณ์คีย์ดาวน์จะไม่เริ่มทำงานในโค้ดจาวาสคริปต์ แต่เหตุการณ์Ctrl
คีย์อัพจะเริ่มทำงาน (เมื่อคุณปล่อยคีย์ในที่สุด) รหัสจับสิ่งนั้น
นอกจากนี้โค้ดยังปิดการทำงานของคีย์ (ทั้งคีย์อัพและคีย์ดาวน์) ทันทีที่เกิดขึ้น ดังนั้นหากคุณกดCtrl
-key หลังจากเปิดไฟล์แล้วจะไม่มีอะไรเกิดขึ้น
window.onkeyup = up;
window.onkeydown = down;
function up(e) {
if (e.key === 'F5') return;
window.onkeyup = null;
window.onkeyup = null;
if (e.key === 'Control') {
alert('Control key was released. You must have held it down while opening the file, so we will now load the file into the editor.');
}
}
function down() {
window.onkeyup = null;
window.onkeyup = null;
}