Capture ctrl+s to update the value

17 Feb 20223 minutes to read

To achieve this, we need to bind the keydown event to the Rich Text Editor content and capture the ctrl + s key press using its keyCode.
In the keydown event handler, the updateValue method is called to update the Value property and then we can save the content in the required database using the same.

@Html.EJS().RichTextEditor("default").Created("onCreate").ContentTemplate(@<div>
    <p>
        The Rich Text Editor control is WYSIWYG ('what you see is what you get') editor that provides the best user experience to create and update the content.
        Users can format their content using standard toolbar commands.
    </p>
    <p><b> Key features:</b></p>

    <ul>
        <li><p> Provides &lt; IFRAME &gt; and &lt; DIV &gt; modes </p></li>

        <li><p> Capable of handling markdown editing.</p></li>

        <li><p> Contains a modular library to load the necessary functionality on demand.</p></li>

        <li><p> Provides a fully customizable toolbar.</p></li>

        <li><p> Provides HTML view to edit the source directly for developers.</p></li>

        <li><p> Supports third - party library integration.</p></li>

        <li><p> Allows preview of modified content before saving it.</p></li>

        <li><p> Handles images, hyperlinks, video, hyperlinks, uploads, etc.</p></li>

        <li><p> Contains undo / redo manager.</p></li>

        <li><p> Creates bulleted and numbered lists.</p></li>

    </ul>
</div>).Render()
<script>
    function onCreate() {
        var rteObj = this;
        rteObj.contentModule.getDocument().addEventListener("keydown", function (e) {
            if (e.key === 's' && e.ctrlKey === true) {
                e.preventDefault(); // to prevent default ctrl+s action
                rteObj.updateValue(); // to update the value after editing
                var value = rteObj.value; // you can get the Rich Text Editor content to save in the desired database
            }
        });
    }
</script>
public class HomeController : Controller
{

    public ActionResult Index()
    {
        return View();
    }
}