Binding.addHandlerAsync method (JavaScript API for Office v1.0)

JavaScript API for Office v1.0

Adds a handler to the binding for the specified event type.

Last modified: June 12, 2014

Available in requirement sets


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


Type: EventType

Specifies the type of event to add. Required.

For a Binding object event, the eventType parameter can be specified as Office.EventType.BindingSelectionChanged, Office.EventType.BindingDataChanged, or the corresponding text values of these enumerations.


Type: object

The event handler function to add. Required.



Specifies the following optional parameters.


Type: 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. Optional.


Type: object

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

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.


Use to...


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


Determine the success or failure of the operation.


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


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.

In version 1.1 of Office.js, you can create table bindings in content apps for Access.

The following code sample calls the select method of the Office object to access the binding with ID "MyBinding", and then calls the addHandlerAsync method to add a handler function for the dataChanged event of that binding.

function addEventHandlerToBinding() {"bindings#MyBinding").addHandlerAsync(Office.EventType.BindingDataChanged, onBindingDataChanged);

function onBindingDataChanged(eventArgs) {
    write("Data has changed in binding: " +;

// Function that writes to a div with id='message' on the page.
function write(message){
    document.getElementById('message').innerText += message; 

Supported clients

Access 2013, Excel 2013, Excel 2013 RT, Excel Online, Word 2013, Word 2013 RT





© 2014 Microsoft