php - CKEditor 中的 Jquery 拖放

标签 php javascript jquery ckeditor

我正在使用 Jquery ui 函数并创建了拖放插件。我所取得的只是可拖动项和可放置区域并成功实现了这一点。

我的下一步是将我的工作插件放入源代码或设计 View 的 ckeditor 主体中。

我正在使用此代码进行拖放。

HTML

 <div class="item" id="image">
    <label class="title">Image</label>
    <label class="price"></label>
</div>
<div id="cart_items" class="back"></div>

JavaScript:

$("#cart_items").droppable({
            accept: ".item",
            //activeClass: "drop-active",
            //hoverClass: "drop-hover",
            drop: function(event, ui) {

            var coordsp=[];
            var coordsc=[];  
                var item        =   ui.draggable.html();
                var itemid      =   ui.draggable.attr("id"); 
                //alert(itemid);
                var coordsp     =   $('#cart_toolbar').position();

                var coordTopp   =   coordsp.top ;
                var coordLeftp  =   coordsp.left;
                //alert(itemid);
                var coordsc     =   $('#'+itemid).position();    

                //alert(coordsc.top);
                //alert(coordsc.left);
                var coordTopc   =   coordsc.top ;
                var coordLeftc  =   coordsc.left;
                var coordLeft   =   coordLeftc-coordLeftp;
                //var coordLeft   =   0;
                var coordTop    =   coordTopc-coordTopp;

                //numControls++;
                var numControls = document.getElementById('numControls');
                controls_count += 1; 
                numControls.value = controls_count; 
                count += 1;

                var hrml_sort_pre =  '<div class="column" id="column1">';


                if(itemid == "image")
                {
                    var html        =  '<div class="dragbox" id="item'+count+'"><img src="<?=base_url()?>/css/move_arrow.gif" alt="no-image" class="drag-image"><h2 id="'+count+'" value="para_1" onclick="do_collapse(this);" onmouseup="do_fill_data(this.id);" onmouseover="fetch_editor_data(this.id);" >&nbsp;</h2><div style="float:right;margin-top:-20px;margin-right:4px"><a  onclick="remove_item(\'item'+count+'\')" id="remove'+itemid+count+'" class="remove'+itemid+count+' x-button">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></div><div class="dragbox-content" ><div id="item_cart_'+count+'"  style="  position: relative; left: 0px; top:-2px;width:100%;">';
                                        html = html + '<a id="image_'+count+'" href="<?=base_url()?>index.php/media/index/'+count+'" ><img src="<?=base_url()?>images/na.jpg" id="temp_image_'+count+'" name="para_'+count+'" onclick="box_load(\'image_'+count+'\')" title = " " alt = ""  /></a><input type="hidden" name="control_type[]" value="image" /><input type="hidden" id="input_temp_image_'+count+'" name="content[]" value="" /> <input type="hidden" name="image-para[]" value="" /></div></div></div>';

                }
$("#cart_items").append(html); }}

有什么方法可以使用它在编辑器中放置图像 html 并在其上调用一些函数。

提前致谢

最佳答案

您可以创建一个 CKEditor 插件,在工具栏上创建一个按钮。然后,此按钮将注入(inject) javascript,然后是放置区域的标记。

但是,我发现这种实现存在一个主要问题。将脚本标签放入 CKEditor 主体时要小心,因为 CKEditor 很可能会在提交时将其过滤掉。

与其创建将 HTML 注入(inject)编辑器主体的插件(从而在站点周围创建相同代码的多个副本),不如使用 token ,然后在将内容加载到页?

这里有一些创建 CKEditor 插件的引用资料,可以帮助您入门:

关于php - CKEditor 中的 Jquery 拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944713/

相关文章:

javascript - 返回 undefined variable

javascript - 使用下划线模板在backbone.js中渲染

php - 遇到 PHP preg_replace 问题

php - 为什么这个 PDO 语句会默默地失败?

php - postman API 不工作

javascript - 在 JavaScript 中迭代分层对象

php - MySQL全文搜索,增加最小字符

javascript - 在 Angular 1.5 中不编译嵌套组件的情况下测试组件

jquery 工具提示,但点击而不是悬停

c# - $.Ajax POST,访问返回数据