Set spellcheck attribute to false via JS

This commit is contained in:
Aljaž Grilc 2024-02-21 13:48:50 +01:00
parent 26539b8c10
commit cee4cb90a8
2 changed files with 14 additions and 9 deletions

View File

@ -9,10 +9,10 @@
</head> </head>
<body> <body>
<!--<div class="bes-online-editor" contenteditable="true">Tukaj vpišite besedilo ki ga želite popraviti.</div> <!--<div class="bes-online-editor" contenteditable="true">Tukaj vpišite besedilo ki ga želite popraviti.</div>
<br> <br>-->
<div class="bes-online-editor" contenteditable="true"></div> <div class="bes-online-editor" contenteditable="true"></div>
<br> <br />
<div class="bes-online-editor" contenteditable="true"><div>Popravite kar želite.</div></div> <!--<div class="bes-online-editor" contenteditable="true"><div>Popravite kar želite.</div></div>
<br> <br>
<div class="bes-online-editor" contenteditable="true"><div>Popravite <a href=".">kar želite</a>.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div></div> <div class="bes-online-editor" contenteditable="true"><div>Popravite <a href=".">kar želite</a>.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div></div>
<br>--> <br>-->
@ -21,10 +21,10 @@
<!-- <div class="bes-online-editor" contenteditable="true"><div class="contextual"><p>Madžarski premier Orban je tako očitno vendarle pristal na nadaljnjo makrofinančno pomoč Ukrajini v okviru revizije dolgoročnega proračuna unije 2021-2027. Ta vključuje 50 milijard evrov za Ukrajino za prihodnja štiri leta, od tega 33 milijard evrov posojil in 17 milijard evrov nepovratnih sredstev.</p></div></div> <!-- <div class="bes-online-editor" contenteditable="true"><div class="contextual"><p>Madžarski premier Orban je tako očitno vendarle pristal na nadaljnjo makrofinančno pomoč Ukrajini v okviru revizije dolgoročnega proračuna unije 2021-2027. Ta vključuje 50 milijard evrov za Ukrajino za prihodnja štiri leta, od tega 33 milijard evrov posojil in 17 milijard evrov nepovratnih sredstev.</p></div></div>
<br>--> <br>-->
<!-- <div class="bes-online-editor" contenteditable="true"><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div></div> --> <!-- <div class="bes-online-editor" contenteditable="true"><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div></div> -->
<br> <!-- <br>
<div class="bes-online-editor" contenteditable="true" spellcheck="false" ><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite. Na mizo nisem položil knjigo.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div></div> <div class="bes-online-editor" contenteditable="true"><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite. Na mizo nisem položil knjigo.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div><div>Popravite kar želite.</div><div>Na mizo nisem položil knjigo. Popravite kar želite.</div></div> -->
<!-- <br /> <!-- <br />
<textarea class="bes-online-editor" spellcheck="false"></textarea> --> <textarea class="bes-online-editor"></textarea> -->
<bes-popup-el></bes-popup-el> <bes-popup-el></bes-popup-el>
</body> </body>
</html> </html>
@ -43,5 +43,4 @@
font-family: Arial, Helvetica, sans-serif; font-family: Arial, Helvetica, sans-serif;
z-index: 2; z-index: 2;
} }
</style>
</style>

View File

@ -11,6 +11,7 @@ class BesEditor {
this.correctionPanel = correctionPanel this.correctionPanel = correctionPanel
this.scrollPanel = scrollPanel this.scrollPanel = scrollPanel
this.offsetTop = null this.offsetTop = null
this.disableSpellcheck(edit)
this.proof(edit) this.proof(edit)
edit.addEventListener('beforeinput', e => this.handleBeforeInput(e), false) edit.addEventListener('beforeinput', e => this.handleBeforeInput(e), false)
edit.addEventListener('click', e => this.handleClick(e)) edit.addEventListener('click', e => this.handleClick(e))
@ -26,11 +27,16 @@ class BesEditor {
return editor return editor
} }
// Set spellcheck to false
disableSpellcheck(edit) {
edit.spellcheck = false
}
// TODO: add support for textarea elements // TODO: add support for textarea elements
// Recursively grammar-proofs one node. // Recursively grammar-proofs one node.
async proof(el) { async proof(el) {
// If first child is not a block element, add a dummy <div>...</div> around it. // If first child is not a block element, add a dummy <div>...</div> around it.
// This is solution is still not fully tested and might need some improvements. // This solution is still not fully tested and might need some improvements.
if (el.classList?.contains('bes-online-editor')) { if (el.classList?.contains('bes-online-editor')) {
const firstChild = el.firstChild const firstChild = el.firstChild
if ( if (