Skip to content

Commit 2b3eb75

Browse files
committed
Editor: intercept Tab on CM textarea directly for Firefox
1 parent 0223b79 commit 2b3eb75

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

editor/index.html

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -238,17 +238,19 @@
238238

239239
document.addEventListener('keydown', e => {
240240
if ((e.ctrlKey||e.metaKey) && e.key==='Enter') { e.preventDefault(); runSketch(); }
241-
}, false);
242-
document.addEventListener('keydown', e => {
243-
if (e.key === 'Tab') {
244-
const cm = document.querySelector('.CodeMirror');
245-
if (cm && cm.contains(document.activeElement)) {
241+
});
242+
243+
// Fix Tab in Firefox: intercept on the CM textarea directly
244+
const cmTextarea = document.querySelector('.CodeMirror textarea');
245+
if (cmTextarea) {
246+
cmTextarea.addEventListener('keydown', e => {
247+
if (e.key === 'Tab') {
246248
e.preventDefault();
247-
e.stopImmediatePropagation();
248-
editor.execCommand('indentMore');
249+
e.stopPropagation();
250+
editor.replaceSelection(' ');
249251
}
250-
}
251-
}, true);
252+
}, true);
253+
}
252254
</script>
253255
</div>
254256
</div>

0 commit comments

Comments
 (0)