Click or drag to resize

addEventListener Method

Add event listeners to a PdfWebControlApi Class instance which raises when a specific PdfWebControl client-side event type is raised.

Syntax
JavaScript
function addEventListener(type, listener);

Parameters

type

Type: String

The type of listener. See PdfWebControlApi Events for list of all events.

listener

Type: Function

The function to call when this event is raised.

Return Value

Type: Boolean

true if listener added successfully; otherwise, false.

Remarks

Some types of events will return parameters indicating more about their state.

The scope of all returned events is the PdfWebControlApi Class which raised it. This means that this.Key (or any other method) can be called on the this object to operate on this same PdfWebControl.

Examples

Simple Example

JavaScript
var myApi = new PdfWebControlApi("PdfWebControl1"); // where "PdfWebControl1" is the ID (ClientID) assigned to the PdfWebControl instance
myApi.addEventListener("saving", function(){window.alert("We are going to cancel this save for " + this.Key() + "!"); return false;});

Full Example

This example illustrates how to use the JavaScript PdfWebControlApi Class to detect and interact with events in a PdfWebControl.

The following examples uses a ASP.NET page which as a PdfWebControl on it and a single code behind page.

ASP.NET Code

XML
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Save.aspx.vb" Inherits="_Default" %>

<%@ Register Assembly="RadPdf" Namespace="RadPdf.Web.UI" TagPrefix="radPdf" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body style="margin:0px">
    <form id="form1" runat="server">
    <div>
        <radPdf:PdfWebControl ID="PdfWebControl1" RunAt="server" Height="600px" Width="850px" 
          OnClientLoad="PdfAttachListeners();" />

        <script type="text/javascript">
            function PdfAttachListeners()
            {
                //attach listeners
                (new PdfWebControlApi("<%=Me.PdfWebControl1.ClientID%>")).addEventListener("saved", function(){window.alert("Save complete event raised for " + this.getKey());});
                (new PdfWebControlApi("<%=Me.PdfWebControl1.ClientID%>")).addEventListener("printing", function(){window.alert("The print start event was raised. We are going to cancel it.");return false;});
            }
        </script>
    </div>
    </form>
</body>
</html>

VB Code Behind

VB
Option Explicit On
Option Strict On

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not IsPostBack Then

            Me.PdfWebControl1.CreateDocument("test", System.IO.File.ReadAllBytes("C:\fw4.pdf"))

        End If
    End Sub
End Class

Notice the value of property "OnClientLoad" for PdfWebControl1.

JavaScript
attachPdfListeners();

This code will setup the PdfWebControlApi listeners when the PdfWebControl has loaded.

Note: Listeners can not be attached to a PdfWebControl before it is completely loaded. In most browsers, this event is fired after the page as loaded. This means that events listeners which you attempt to add inline or in the page's load event will likely not be properly attached. In most cases, it is recommended that you use the OnClientLoad property to prevent attempting to access the PdfWebControlApi before it is ready or other JavaScript runtime exceptions.

See Also