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

时间:2013-07-10 09:02:36

标签: javascript cursor textarea

我有一个<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);

    });

});

1 个答案:

答案 0 :(得分:5)

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