# Option: execcommand_callback

This option allows you to add a custom callback function for execCommand handling. This enables you to override internal command functions in TinyMCE. The example below shows how the mceLink and mceImage are overriden.

### Example of usage of the execcommand_callback option:

    function myCustomExecCommandHandler(editor_id, elm, command, user_interface, value) {
        var linkElm, imageElm, inst;

        switch (command) {
            case "mceLink":
                inst = tinyMCE.getInstanceById(editor_id);
                linkElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "a");

                if (linkElm)
                    alert("Link dialog has been overriden. Found link href: " + tinyMCE.getAttrib(linkElm, "href"));
                else
                    alert("Link dialog has been overriden.");

                return true;

            case "mceImage":
                inst = tinyMCE.getInstanceById(editor_id);
                imageElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "img");

                if (imageElm)
                    alert("Image dialog has been overriden. Found image src: " + tinyMCE.getAttrib(imageElm, "src"));
                else
                    alert("Image dialog has been overriden.");

                return true;
        }

        return false; // Pass to next handler in chain
    }

    tinyMCE.init({
        ...
        execcommand_callback : "myCustomExecCommandHandler"
    });