WYM редактор - остановите повторяющиеся вставки - PullRequest
0 голосов
/ 24 августа 2011

Я использую WYMeditor в проекте, который работает очень хорошо и прост в использовании. Я добавил пользовательскую кнопку, которая открывает модал с миниатюрами изображений. Нажмите на изображение, и оно будет вставлено в WYMeditor. Проблема в том, что первое нажатое изображение является отличным, но если вы попытаетесь вставить более одного изображения, оно «удваивается», то есть первое нажатие изображения = 1 вставка изображения, второе нажатие изображения = 2 вставки изображения, третье нажатие = 3 вставки изображения и т. Д. на. Я также получаю "</span>" после вставки изображения, это вообще не нужно. Я не могу понять, почему это происходит какие-либо подсказки. Вот код для вставки WYM.

jQuery('.wymeditor').wymeditor({
    html: '<p>Hello, World!<\/p>',
    postInit: function(wym) {
        var html = "<li class='wym_tools_newbutton'>"
                 + "<a name='NewButton' href='#'"
                 + " style='background-image:"
                 + " url(includes/js/wymeditor/img/media.png);'"
                 + " title='Insert an image' >"
                 + "</a></li>";
       jQuery(wym._box).find(wym._options.toolsSelector + wym._options.toolsListSelector).append(html);
       jQuery(wym._box).find('li.wym_tools_newbutton a').click(function() {
            jQuery('#modal').show().css( { 'left': (winW-980)/2+'px', 'top': '100px' } ).load('includes/admin/adminListMedia.php');
                jQuery('.imgname').live('change',function(){
                var InsertImg = '#'+jQuery(this).attr('id');
                wym.insert('<img src="http://127.0.1/admin/includes/uploads/'+jQuery(InsertImg).val()+'" />');
                jQuery('#modal').empty().hide();
             });
            return(false);
        });

Как вы можете видеть, я закрываю и очищаю модал при вставке, я сделал это в попытке "очистить" дублирование, но оно не работает, и это "модальный" код:

<?php
if ($handle = opendir('../../includes/uploads/thumb/')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") { ?>
            <div class="MediaImgSelect  wym_src">';
                <img src="includes/uploads/thumb/<?php echo $file; ?>" width="90px" height="90px"/>';
                Size 
                <select class="imgname" id="<?php echo 'img_'.substr($file,0,-4); ?>">
                <option value="Select">Select</option>
                <option value="thumb/<?php echo $file; ?>">Thumb</option>
                <option value="thumb/<?php echo $file; ?>">Small</option>
                <option value="thumb/<?php echo $file; ?>">Large<option>
                </select>
                </div>
        <?php }
    }
    closedir($handle);
}

?>

1 Ответ

0 голосов
/ 02 сентября 2011

На самом деле я получил ответ использовать .bind not .live в функции

...