JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-4.0.1_full
[ckeditor.git] / samples / divreplace.html
1 <!DOCTYPE html>\r
2 <!--\r
3 Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
4 For licensing, see LICENSE.html or http://ckeditor.com/license\r
5 -->\r
6 <html>\r
7 <head>\r
8         <title>Replace DIV &mdash; CKEditor Sample</title>\r
9         <meta charset="utf-8">\r
10         <script src="../ckeditor.js"></script>\r
11         <link href="sample.css" rel="stylesheet">\r
12         <style>\r
13 \r
14                 div.editable\r
15                 {\r
16                         border: solid 2px Transparent;\r
17                         padding-left: 15px;\r
18                         padding-right: 15px;\r
19                 }\r
20 \r
21                 div.editable:hover\r
22                 {\r
23                         border-color: black;\r
24                 }\r
25 \r
26         </style>\r
27         <script>\r
28 \r
29                 // Uncomment the following code to test the "Timeout Loading Method".\r
30                 // CKEDITOR.loadFullCoreTimeout = 5;\r
31 \r
32                 window.onload = function() {\r
33                         // Listen to the double click event.\r
34                         if ( window.addEventListener )\r
35                                 document.body.addEventListener( 'dblclick', onDoubleClick, false );\r
36                         else if ( window.attachEvent )\r
37                                 document.body.attachEvent( 'ondblclick', onDoubleClick );\r
38 \r
39                 };\r
40 \r
41                 function onDoubleClick( ev ) {\r
42                         // Get the element which fired the event. This is not necessarily the\r
43                         // element to which the event has been attached.\r
44                         var element = ev.target || ev.srcElement;\r
45 \r
46                         // Find out the div that holds this element.\r
47                         var name;\r
48 \r
49                         do {\r
50                                 element = element.parentNode;\r
51                         }\r
52                         while ( element && ( name = element.nodeName.toLowerCase() ) &&\r
53                                 ( name != 'div' || element.className.indexOf( 'editable' ) == -1 ) && name != 'body' );\r
54 \r
55                         if ( name == 'div' && element.className.indexOf( 'editable' ) != -1 )\r
56                                 replaceDiv( element );\r
57                 }\r
58 \r
59                 var editor;\r
60 \r
61                 function replaceDiv( div ) {\r
62                         if ( editor )\r
63                                 editor.destroy();\r
64 \r
65                         editor = CKEDITOR.replace( div );\r
66                 }\r
67 \r
68         </script>\r
69 </head>\r
70 <body>\r
71         <h1 class="samples">\r
72                 <a href="index.html">CKEditor Samples</a> &raquo; Replace DIV with CKEditor on the Fly\r
73         </h1>\r
74         <div class="description">\r
75                 <p>\r
76                         This sample shows how to automatically replace <code>&lt;div&gt;</code> elements\r
77                         with a CKEditor instance on the fly, following user's doubleclick. The content\r
78                         that was previously placed inside the <code>&lt;div&gt;</code> element will now\r
79                         be moved into CKEditor editing area.\r
80                 </p>\r
81                 <p>\r
82                         For details on how to create this setup check the source code of this sample page.\r
83                 </p>\r
84         </div>\r
85         <p>\r
86                 Double-click any of the following <code>&lt;div&gt;</code> elements to transform them into\r
87                 editor instances.\r
88         </p>\r
89         <div class="editable">\r
90                 <h3>\r
91                         Part 1\r
92                 </h3>\r
93                 <p>\r
94                         Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi\r
95                         semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna\r
96                         rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla\r
97                         nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce\r
98                         eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus.\r
99                 </p>\r
100         </div>\r
101         <div class="editable">\r
102                 <h3>\r
103                         Part 2\r
104                 </h3>\r
105                 <p>\r
106                         Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi\r
107                         semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna\r
108                         rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla\r
109                         nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce\r
110                         eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus.\r
111                 </p>\r
112                 <p>\r
113                         Donec velit. Mauris massa. Vestibulum non nulla. Nam suscipit arcu nec elit. Phasellus\r
114                         sollicitudin iaculis ante. Ut non mauris et sapien tincidunt adipiscing. Vestibulum\r
115                         vitae leo. Suspendisse nec mi tristique nulla laoreet vulputate.\r
116                 </p>\r
117         </div>\r
118         <div class="editable">\r
119                 <h3>\r
120                         Part 3\r
121                 </h3>\r
122                 <p>\r
123                         Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi\r
124                         semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna\r
125                         rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla\r
126                         nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce\r
127                         eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus.\r
128                 </p>\r
129         </div>\r
130         <div id="footer">\r
131                 <hr>\r
132                 <p>\r
133                         CKEditor - The text editor for the Internet - <a class="samples" href="http://ckeditor.com/">http://ckeditor.com</a>\r
134                 </p>\r
135                 <p id="copy">\r
136                         Copyright &copy; 2003-2013, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico\r
137                         Knabben. All rights reserved.\r
138                 </p>\r
139         </div>\r
140 </body>\r
141 </html>\r