Viewing file: events.php (4.74 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Adding Event Handlers — CKEditor Sample</title> <meta content="text/html; charset=utf-8" http-equiv="content-type"/> <link href="../sample.css" rel="stylesheet" type="text/css"/> </head> <body> <h1 class="samples"> CKEditor Sample — Adding Event Handlers </h1> <div class="description"> <p> This sample shows how to add event handlers to CKEditor with PHP. </p> <p> A snippet of the configuration code can be seen below; check the source code of this page for the full definition: </p> <pre class="samples"><?php // Include the CKEditor class. include("ckeditor/ckeditor.php");
// Create a class instance. $CKEditor = new CKEditor();
// Path to the CKEditor directory. $CKEditor->basePath = '/ckeditor/';
// The initial value to be displayed in the editor. $initialValue = 'This is some sample text.';
// Add event handler, <em>instanceReady</em> is fired when editor is loaded. $CKEditor-><strong>addEventHandler</strong>('instanceReady', 'function (evt) { alert("Loaded editor: " + evt.editor.name); }');
// Create an editor instance. $CKEditor->editor("editor1", $initialValue); </pre> </div> <!-- This <div> holds alert messages to be display in the sample page. --> <div id="alerts"> <noscript> <p> <strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript support, like yours, you should still see the contents (HTML data) and you should be able to edit it normally, without a rich editor interface. </p> </noscript> </div> <form action="../sample_posteddata.php" method="post"> <label>Editor 1:</label> <?php
/** * Adds a global event, will hide the "Target" tab in the "Link" dialog window in all instances. */ function CKEditorHideLinkTargetTab(&$CKEditor) {
$function = 'function (ev) { // Take the dialog window name and its definition from the event data. var dialogName = ev.data.name; var dialogDefinition = ev.data.definition;
// Check if the definition comes from the "Link" dialog window. if ( dialogName == "link" ) dialogDefinition.removeContents("target") }';
$CKEditor->addGlobalEventHandler('dialogDefinition', $function); }
/** * Adds a global event, will notify about an open dialog window. */ function CKEditorNotifyAboutOpenedDialog(&$CKEditor) { $function = 'function (evt) { alert("Loading a dialog window: " + evt.data.name); }';
$CKEditor->addGlobalEventHandler('dialogDefinition', $function); }
// Include the CKEditor class. include("../../ckeditor.php");
// Create a class instance. $CKEditor = new CKEditor();
// Set a configuration option for all editors. $CKEditor->config['width'] = 750;
// Path to the CKEditor directory, ideally use an absolute path instead of a relative dir. // $CKEditor->basePath = '/ckeditor/' // If not set, CKEditor will try to detect the correct path. $CKEditor->basePath = '../../';
// The initial value to be displayed in the editor. $initialValue = '<p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p>';
// Event that will be handled only by the first editor. $CKEditor->addEventHandler('instanceReady', 'function (evt) { alert("Loaded editor: " + evt.editor.name); }');
// Create the first instance. $CKEditor->editor("editor1", $initialValue);
// Clear event handlers. Instances that will be created later will not have // the 'instanceReady' listener defined a couple of lines above. $CKEditor->clearEventHandlers(); ?> <br /> <label>Editor 2:</label> <?php // Configuration that will only be used by the second editor. $config['width'] = '600'; $config['toolbar'] = 'Basic';
// Add some global event handlers (for all editors). CKEditorHideLinkTargetTab($CKEditor); CKEditorNotifyAboutOpenedDialog($CKEditor);
// Event that will only be handled by the second editor. // Instead of calling addEventHandler(), events may be passed as an argument. $events['instanceReady'] = 'function (evt) { alert("Loaded second editor: " + evt.editor.name); }';
// Create the second instance. $CKEditor->editor("editor2", $initialValue, $config, $events); ?> <p> <input type="submit" value="Submit"/> </p> </form> <div id="footer"> <hr /> <p> CKEditor - The text editor for the Internet - <a class="samples" href="http://ckeditor.com/">http://ckeditor.com</a> </p> <p id="copy"> Copyright © 2003-2012, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico Knabben. All rights reserved. </p> </div> </body> </html>
|