Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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
Javascript TinyMCE编辑器中的目标元素_Javascript_Jquery_Tinymce - Fatal编程技术网

Javascript TinyMCE编辑器中的目标元素

Javascript TinyMCE编辑器中的目标元素,javascript,jquery,tinymce,Javascript,Jquery,Tinymce,在TinyMCE 4编辑器中以元素(比如给定类的所有图像)为目标的最佳方式是什么。我发现了一些较旧的解决方案(即),但它们适用于TinyMCE 3。请注意,可以在初始渲染后将元素添加到编辑器中,因此它需要类似jQuery的on()功能 一个选项可能是执行类似于$('tinymce\u id').contents()的操作。 或者在配置TinyMCE时,TinyMCE.init({'selector':'TinyMCE_id','setup':函数(ed){do somethine here?})

在TinyMCE 4编辑器中以元素(比如给定类的所有图像)为目标的最佳方式是什么。我发现了一些较旧的解决方案(即),但它们适用于TinyMCE 3。请注意,可以在初始渲染后将元素添加到编辑器中,因此它需要类似jQuery的
on()
功能

一个选项可能是执行类似于
$('tinymce\u id').contents()的操作。

或者在配置TinyMCE时,
TinyMCE.init({'selector':'TinyMCE_id','setup':函数(ed){do somethine here?})

使用以下逻辑:

  • 获取TinyMCE文本
  • 将其转换为DOM(HTML)元素
  • 使用jquery选择任何内容
  • 对选定的图元进行修改或执行所需操作
  • 将html转换回文本
  • 将TinyMCE编辑器的内容设置为新的html

//on click event
$("#test").click(function(){
    //get the text of the tinymce editor and convert it to an html element
    html = $.parseHTML(tinymce.activeEditor.getContent());

    //do anything with the content here
    $(html).find("img.editor-img").css("width", "100px");

    //convert it back to text
    text = $(html).html();
    //add it to the tinymce
    tinymce.activeEditor.setContent(text);
});

示例:

这是我找到的最好的方法

tinymce.init({
    'selector': "#tinymce_id",
    'setup' : function(ed) { 
        ed.on('init', function(e) {
            $(ed.getBody()).on("click", "img", function() {alert('hello');});
        });
    }
});

很不错的。让我看一下。当点击一个图像时,人们会如何启动一个事件?