CustomXmlPart.addHandlerAsync method (JavaScript API for Office)

apps for Office

Adds an event handler for a CustomXmlPart object event.

Last modified: March 03, 2015

Note Note

The name "apps for Office" is changing to "Office Add-ins". During the transition, the documentation and the UI of some Office host applications and Visual Studio tools might still use the term "apps for Office".

Hosts:

Word

Available in Requirement set

Added in

1.0

See all support details

customXmlPart.addHandlerAsync(eventType, handler [, options], callback);

Name

Type

Description

Support notes

eventType

EventType

Specifies the type of event to add. Required.

For a CustomXmlPart object event, the eventType parameter can be specified as Office.EventType.NodeDeleted, Office.EventType.NodeInserted, Office.EventType.NodeReplaced, or the corresponding text values of these enumerations.

handler

object

The event handler function to add, whose only parameter is of type NodeDeletedEventArgs, NodeInsertedEventArgs, or NodeReplaceEventArgs. Required.

options

object

Specifies any of the following optional parameters

asyncContext

array, boolean, null, number, object, string, or undefined

A user-defined item of any type that is returned in the AsyncResult object without being altered.

callback

object

A function that is invoked when the callback returns, whose only parameter is of type AsyncResult.

When the function you passed to the callback parameter executes, it receives an AsyncResult object that you can access from the callback function's only parameter.

In the callback function passed to the addHandlerAsync method, you can use the properties of the AsyncResult object to return the following information.

Property

Use to...

AsyncResult.value

Always returns undefined because there is no data or object to retrieve when adding an event handler.

AsyncResult.status

Determine the success or failure of the operation.

AsyncResult.error

Access an Error object that provides error information if the operation failed.

AsyncResult.asyncContext

Access your user-defined object or value, if you passed one as the asyncContext parameter.

You can add multiple event handlers for the specified eventType as long as the name of each event handler function is unique.

function addNodeInsertedEvent() {
    Office.context.document.customXmlParts.getByIdAsync("{3BC85265-09D6-4205-B665-8EB239A8B9A1}", function (result) {
        var xmlPart = result.value;
        xmlPart.addHandlerAsync(Office.EventType.NodeInserted, myHandler);
    });
}
function myHandler(eventArgs) {
            write("A node has been inserted.");
}
// Function that writes to a div with id='message' on the page.
function write(message){
    document.getElementById('message').innerText += message; 
}

A checkmark (√) in the following matrix indicates that this method is supported in the corresponding Office host application. An empty cell indicates that the Office host application doesn't support this method.

For more information about Office host application and server requirements, see Requirements for running apps for Office.

Office for Windows desktop

Office for Windows RT

Office Online
(in browser)

Word

Available in requirement sets

CustomXmlParts

Minimum permission level

ReadWriteDocument

App types

Task pane

Library

Office.js

Namespace

Office

Version

Changes

1.0

Introduced

Show:
© 2015 Microsoft