COMisHARD
COMisHARD

Reputation: 923

Forcing Spell Check on programmatically created content

I have deduced that the spell check function, as handled by most browsers, only works when the user inputs text and then moves to the next word. I have also deduced that you can "query" the spellchecker by simply move the cursor through a word (i.e clicking the first word and then scrolling down).

I have a tool that takes input text and then produces it in an altered form for the user to see. I want the output text to be subjected to the spell checker.

I am aware of the fact that I could use a javascript spellchecking tool, but I'd like to avoid that if I can get the native tool to work (in large part because users can then define their native spell checker however they'd like).

Two specific questions: 1) Is there any easy way to trigger the spell checker to query every word in an element? Setting spellcheck to "true" does not do this. 2) I think my next best option is to programmatically run the cursor of the list of words, is there a good approach for doing this?

Upvotes: 3

Views: 374

Answers (1)

Dennis Rosenbaum
Dennis Rosenbaum

Reputation: 379

I have the same question. I solved this by focussing on an element and a timeout. It's cerainly not the (best) way to go, but it does it's job.

What it does: it get's the elements (all elements have the not-focussed class on them). While looping through (in reverse, bottom->up), it waits 20 miliseconds in order for the spellchecker to execute.

function enableSpellcheck()
{
    setTimeout(function () {
        var items = $(".not-focussed").reverse();

        if(items.length > 0)
        {
            var target = items[0];

            $(target).focus();
            $(target).removeClass("not-focussed");
            enableSpellcheck();
        }
    }, 20);
}

Upvotes: 0

Related Questions