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