Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 在Wordpress的TinyMCE可视化编辑器中对UL列表进行排序_Jquery Ui_Tinymce_Jquery Ui Sortable_Wordpress - Fatal编程技术网

Jquery ui 在Wordpress的TinyMCE可视化编辑器中对UL列表进行排序

Jquery ui 在Wordpress的TinyMCE可视化编辑器中对UL列表进行排序,jquery-ui,tinymce,jquery-ui-sortable,wordpress,Jquery Ui,Tinymce,Jquery Ui Sortable,Wordpress,我试图在Wordpress的TinyMCE可视化编辑器中使用jQuery sortable。我已经取得了一些成功,我可以得到一个UL列表进行排序,但前提是我将鼠标拖动到实际编辑器之外。你可以通过这段1分钟的短片了解我的意思: 以下是我用来运行此操作的代码: (function() { tinymce.create('tinymce.plugins.tinyMceSort', { init : function(ed, url) { ed.addButt

我试图在Wordpress的TinyMCE可视化编辑器中使用jQuery sortable。我已经取得了一些成功,我可以得到一个UL列表进行排序,但前提是我将鼠标拖动到实际编辑器之外。你可以通过这段1分钟的短片了解我的意思:

以下是我用来运行此操作的代码:

    (function() {
   tinymce.create('tinymce.plugins.tinyMceSort', {
      init : function(ed, url) {
         ed.addButton('tinyMceSort', {
            title : 'TinyMCE Sort',
            image : url+'/tiny_sort.png',
            onclick : function() {
                 ed.execCommand('mceInsertContent', false, '\
                    <ul id="list">\
                      <li>One</li>\
                      <li>Two</li>\
                      <li>Three</li>\
                      <li>Four</li>\
                      <li>Five</li>\
                    </ul>\
                ');
              }
          });

        ed.onVisualAid.add(function(ed, e, s) {
          console.debug('onVisualAid event: ' + ed.id + ", State: " + s);
           // jQuery('#content_ifr').contents().find('#move').sortable({ containment: '#move' });
            jQuery('#content_ifr').contents().find('#list').sortable({ containment : 'parent', tolerance : 'pointer', cursor : 'move'}).css({'width' : '200px', 'padding' : '10px', 'list-style' : 'none', 'background-color' : '#333'});
            jQuery('#content_ifr').contents().find('li').css({'background-color' : 'grey', 'margin': '10px', 'padding': '10px'});
            jQuery('.wrap').sortable();
      });


    ed.plugins.wordpress._showButtons(target, 'tinyMceSort');

          }
      });
    },

    createControl : function(n, cm) {
      return null;
    },

    getInfo : function() {
      return {
        longname : "TinyMCE Sort",
        author : '',
        authorurl : '',
        infourl : '',
        version : ""
      };
    },
  });
   tinymce.PluginManager.add('tinyMceSort', tinymce.plugins.tinyMceSort);
})();
(函数(){
create('tinymce.plugins.tinyMceSort'{
init:函数(ed,url){
ed.addButton('tinyMceSort'{
标题:“TinyMCE排序”,
图片:url+'/tiny_sort.png',
onclick:function(){
ed.execCommand('mceInsertContent',false,'\
    \
  • 一个\
  • 两个\
  • 三个\
  • 四个\
  • 五个\
\ '); } }); 添加(函数(ed,e,s){ 调试('onVisualAid事件:'+ed.id+”,状态:“+s”); //jQuery('#content_ifr').contents().find('#move').sortable({containment:'#move'}); jQuery(“#content_ifr”).contents().find(“#list”).sortable({containment:'parent',tolerance:'pointer',cursor:'move'}).css({'width':'200px','padding':'10px',list style':'none','background color':'333}); jQuery(“#content_ifr').contents().find('li').css({'background-color':'grey','margin':'10px','padding':'10px'); jQuery('.wrap').sortable(); }); wordpress._showButtons(目标为“tinyMceSort”); } }); }, createControl:函数(n,cm){ 返回null; }, getInfo:function(){ 返回{ longname:“TinyMCE排序”, 作者:'', authorurl:“”, infourl:“”, 版本:“” }; }, }); tinymce.PluginManager.add('tinyMceSort',tinymce.plugins.tinyMceSort'); })();

我想知道的是,在不必将鼠标移到TinyMCE编辑器区域之外的情况下,如何对列表进行排序。

TinyMCE使用iframe。我猜tinymce iframe中没有必要的代码。 为了使用iframe的tinymce加载javascript文件,您也可以使用onInit of tinymce

// Load a script from a specific URL using the global script loader
tinymce.ScriptLoader.load('somescript.js');

谢谢你的回答。我不确定我是否做错了什么,但这似乎没有帮助。我做了进一步的搜索,找到了这个答案(),这似乎也有帮助,但遗憾的是,我无法在jsfiddler之外找到这个答案。还有其他想法或建议吗?我已经取得了一些进展-我尝试了一个不同的排序插件(HTML5排序表--)。它起作用了!但是,它将draggable='true'和style='display:list item;”直接添加到我不希望拖动的li标记中,因为我不希望这些标记发布到前端(毕竟,这是在wordpress可视化编辑器中)。所以,我在寻找其他的选择——有什么想法吗?或者,有没有办法修复jquery ui?请注意jquery ui-如果可能的话,我不会碰它-如果我可以问的话,为什么会这样(我知道这有点离题,但不是100%,因为我必须选择解决方案)。你能给我指一篇文章或其他东西让我知道它的缺点吗?不,我们的问题是让jQuery UI与其他js库一起工作(我想我们的用例有点特定,jQuery在大多数情况下应该可以正常工作)