单击按钮时将文本插入<textarea>,光标位于该位置

Dav*_*ard 3 javascript textarea cursor

<textarea>在它下面有几个按钮,这些按钮的目的是将某些文本插入到<textarea>.

下面的代码将始终在开头插入所需的文本,<textarea>如果在单击按钮时没有焦点,则可以正常使用.但是,如果<textarea>确实有焦点,我想在单击按钮时插入光标所在的文本.

到目前为止,这是我的代码.如果有人可以建议我如何做到这一点,我将非常感激.谢谢.

jQuery(document).ready(function(){

    var button_text = {} // The text to insert for each button click

    button_text['insert_event_name']        = 'event_name';
    button_text['insert_event_date']        = 'event_date';
    button_text['insert_event_start_time']  = 'event_start';
    button_text['insert_event_finish_time'] = 'event_finish';
    button_text['insert_event_location']    = 'event_location';
    button_text['insert_event_address']     = 'event_address';

    jQuery('.inserter', '#event-desc-container').on('click', function(){

        var button = jQuery(this).attr('name');
        var text = '['+button_text[button]+']';

        textarea = jQuery('textarea#event_desc', '#event-desc-container');
        desc = textarea.val()

        textarea.val(text+desc);

    });

});
Run Code Online (Sandbox Code Playgroud)

grm*_*mph 5

可以使用这个jQuery插件轻松完成:http: //dwieeb.github.io/jquery-textrange/