为什么我的Tiny MCE列表框在被选中后仍然有效?

时间:2016-05-19 11:42:21

标签: javascript wordpress listbox tinymce

我使用了一个JS插件将一个列表框添加到WordPress编辑器上的MCE按钮。

列表框按预期工作 - 它会下降,当您单击其中一个选项时,它会插入文本。但是,在第一次使用后,列表框保持活动状态,因此所有选项都是蓝色的(因为我的管理主题),并且没有悬停效果。

这似乎是因为第一次使用后每个下拉列表都添加了类mce-active,然后才删除。为什么是这样?我没有告诉它这样做。

我的PHP是:

// add new buttons
    add_filter( 'mce_buttons', 'myplugin_register_buttons' );

    function myplugin_register_buttons( $buttons ) {
       array_push( $buttons, 'separator', 'bf_rsvp_person_details', 'bf_rsvp_event_details' );
       return $buttons;
    }

    // Load the TinyMCE plugin : editor_plugin.js (wp2.5)
    add_filter( 'mce_external_plugins', 'myplugin_register_tinymce_javascript' );

    function myplugin_register_tinymce_javascript( $plugin_array ) {
       $plugin_array['bf_rsvp_person_details'] = plugins_url( '/jquery/bf_rsvp_personal_details.js',__FILE__ );
       $plugin_array['bf_rsvp_event_details'] = plugins_url( '/jquery/bf_rsvp_event_details.js',__FILE__ );
       return $plugin_array;
    }

我的其中一个插件的JS(另一个在功能上相同)是:

tinymce.PluginManager.add('bf_rsvp_event_details', function(editor) {

    editor.addButton('bf_rsvp_event_details', {
         type: 'listbox',
                    text: 'Event Details',                   
                    icon: false,
                    tooltip: 'Insert the event details',
                    classes: 'bf_rsvp_list_box',
                    onselect: function(e) {
                    }, 
                    values: [

                        {text: 'Event name', onclick : function() {
                            editor.execCommand('mceInsertContent', false, '#eventname#');
                        }},
                        {text: 'Location', onclick : function() {
                            editor.execCommand('mceInsertContent', false, '#evenlocation#');
                        }},
                        {text: 'Date & Time', onclick : function() {
                            editor.execCommand('mceInsertContent', false, '#evendate#');
                        }},
                        {text: 'Description', onclick : function() {
                            editor.execCommand('mceInsertContent', false, '#eventdescription#');
                        }},



                    ]

                });

});

0 个答案:

没有答案