Инициируйте TinyMCE на веб-сайте jQuery Mobile - PullRequest
1 голос
/ 22 января 2012

Я пытаюсь запустить TinyMCE с помощью мобильного веб-сайта jQuery.

Это моя голова для поиска javascript:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css"/>
<link rel="stylesheet" href="/public/css/styler.css"/>
<link rel="stylesheet" href="/public/css/mainstyle.css"/>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="/public/js/tinymce/tiny_mce.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>

    <script type="text/javascript">

    $('.close-notification').click(
        function () {
            $(this).parent().fadeTo(350, 0, function () {
                $(this).slideUp(600);
            });
            return false;
        }
    );

    $(document).live( 'pageinit',function(event) {
        tinyMCE.init({
            mode:"textareas",
            theme:"advanced",
            theme_advanced_buttons1:"bold,italic,bullist,numlist",
            theme_advanced_buttons2:"",
            theme_advanced_buttons3:"",
            theme_advanced_buttons4:"",
            theme_advanced_toolbar_location:"top",
            theme_advanced_toolbar_align:"left",
            theme_advanced_resizing:false
        });
    });

</script>

Хорошо, тогда у меня есть текстовая область, такая как

<textarea name="message" style="width:100%" tabindex="3" rows="10" id="wysiwyg"></textarea>

Но текстовая область не заменяется на фрейм TinyMCE. Об ошибках не сообщается на консоль.

Ответы [ 2 ]

0 голосов
/ 08 августа 2012

Для Jquery Mobile, что я делаю (и он работает):

<script>
$(document).live( 'pagebeforecreate',function(event){
    if($('textarea.tinymce').length){
            $(document).bind('pagebeforeshow',function(event) {
                tinyMCE.init({
                // General options
                mode : "textareas",
                selector : "textarea.tinymce",
                theme : "simple"
            });
        });
    }
});
</script>

Убедитесь, что вы загрузили крошечный перед этим.вы можете загружать его динамически только в первый раз:

if(typeof TinyMCE == "undefined") {
    $.getScript('tinymce.js');
}

Примечание: он у меня есть на каждой странице, и он запускается каждый раз, когда текстовая область определяется классом i, но загружает скрипт только один раз

0 голосов
/ 04 февраля 2012

jQuery Mobile фактически применяет стили и классы к элементам ввода, а в некоторых случаях фактически заменяет их программно созданными элементами, над которыми он имеет полный контроль. Я бы посмотрел текстовую область, которую вы видите на странице, и посмотрел бы, на какую вы нацеливаетесь. Вы даже можете запускать команды в консоли, такие как установка фона вашей предполагаемой цели, чтобы проверить, является ли она той, на которую вы смотрите.

Вы также можете попытаться получить доступ к событию "pagebeforecreate", чтобы вы могли получить "настоящую" текстовую область до того, как jQuery Mobile ее поймает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...