# 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"
    });