2015-09-27 121 views
0

非常新颖的tinymce和尝试一个相当大的(对我来说)定制 - 尝试搜索,但不够清楚,知道我在找什么...使用下面的代码(只显示顶部一半),一切都工作得很好,除了我不能让简码项目插入光标loc点击 - 我尝试了一些变化,但没有任何工作。 onclick仍然是适当的方法?任何想法不胜感激。tinymce插入内容 - onclick

TxtEdit = new tinymce.Editor(id, { 
     inline: true, 
     plugins: [ 
      "autolink lists link image charmap code insertdatetime table", 
      "contextmenu paste textcolor colorpicker textpattern", 
     ], 
     toolbar: "undo redo | styleselect | formatselect | pastetext | bold italic underline | alignleft aligncenter alignright | forecolor backcolor | bullist numlist | link | removeformat | fontselect fontsizeselect | code", 
     menubar: false, 
     paste_word_valid_elements: "b,strong,i,em,h1,h2", 
     relative_urls : false, 
     convert_urls : false, 
     style_formats: [ 
      {title: "Shortcodes", items: [ 
       {title: 'Name', onclick: function() {editor.insertContent('[st_user_name_style target= ]');}}, 
       {title: 'Email', onclick: function() {editor.insertContent('[st_user_email_1_style target= ]');}} 
      ]}, 
      {title: "Inline", items: [ 
       {title: "Strikethrough", icon: "strikethrough", format: "strikethrough"}, 
       {title: "Superscript", icon: "superscript", format: "superscript"}, 
       {title: "Subscript", icon: "subscript", format: "subscript"}, 
       {title: "Code", icon: "code", format: "code"} 
      ]}, 
      {title: "Blocks", items: [ 
       {title: "Blockquote", format: "blockquote"}, 
       {title: "Div", format: "div"}, 
       {title: "Pre", format: "pre"} 
      ]}, 
+0

你试过http://stackoverflow.com/questions/1064089/inserting-a-text-where-cursor-is-using-javascript-jquery – enigma

+1

谢谢,但这个问题不针对tinymce,这是我想在这里配置。因此,我一直在尝试为tinymce提供变体 - 这个构造中的某些东西应该可以工作。 'insertContent'就我所知的正确方法而言 - 但我显然没有把它调用正确的... – wolff

回答

0

确定了这个问题 - 我试图将Shortcodes菜单添加到'style formats'部分,这是不正确的。相反,我需要在一个单独的部分来创建它:

editor.addButton('shortcodes', { 
    type: 'menubutton', 
    text: 'Shortcodes', 
    icon: false, 
    menu: [ 
    { text: 'Name', onclick: function() {editor.insertContent('[st_user_name_style target= ]');}}, 
    { text: 'Email', onclick: function() {editor.insertContent('[st_user_email_1_style target= ]');}}, 
    ]});