1 | <html> |
---|
2 | <head> |
---|
3 | <meta charset="utf-8"> |
---|
4 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
---|
5 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
---|
6 | <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> |
---|
7 | <!--[if lt IE 9]> |
---|
8 | <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> |
---|
9 | <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
---|
10 | <![endif]--> |
---|
11 | <script src="http://cdn.ckeditor.com/4.4.5/standard/ckeditor.js"></script> |
---|
12 | </head> |
---|
13 | <body> |
---|
14 | |
---|
15 | <!-- Button trigger modal --> |
---|
16 | <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> |
---|
17 | Launch demo modal |
---|
18 | </button> |
---|
19 | |
---|
20 | <!-- Modal --> |
---|
21 | <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
---|
22 | <div class="modal-dialog"> |
---|
23 | <div class="modal-content"> |
---|
24 | <div class="modal-header"> |
---|
25 | <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> |
---|
26 | <h4 class="modal-title" id="myModalLabel">CKEditor In twitter Bootstrap Test</h4> |
---|
27 | </div> |
---|
28 | <div class="modal-body"> |
---|
29 | <form> |
---|
30 | <textarea name="editor1" id="editor1" rows="10" cols="80"> |
---|
31 | This is my textarea to be replaced with CKEditor. |
---|
32 | </textarea> |
---|
33 | <script> |
---|
34 | // Replace the <textarea id="editor1"> with a CKEditor |
---|
35 | // instance, using default configuration. |
---|
36 | CKEDITOR.replace( 'editor1' ); |
---|
37 | </script> |
---|
38 | </form> |
---|
39 | </div> |
---|
40 | </div> |
---|
41 | </div> |
---|
42 | </div> |
---|
43 | |
---|
44 | <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> |
---|
45 | <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> |
---|
46 | <script> |
---|
47 | |
---|
48 | //The final solution code for all bugs ckeditor in twitter bootstrap3' modal |
---|
49 | $.fn.modal.Constructor.prototype.enforceFocus = function() { |
---|
50 | var $modalElement = this.$element; |
---|
51 | $(document).on('focusin.modal',function(e) { |
---|
52 | var $parent = $(e.target.parentNode); |
---|
53 | if ($modalElement[0] !== e.target |
---|
54 | && !$modalElement.has(e.target).length |
---|
55 | && $(e.target).parentsUntil('*[role="dialog"]').length === 0) { |
---|
56 | $modalElement.focus(); |
---|
57 | } |
---|
58 | }); |
---|
59 | }; |
---|
60 | </script> |
---|
61 | </body> |
---|
62 | </html> |
---|