test


所有跟贴·加跟贴·新语丝读书论坛

送交者: gadfly 于 2007-08-11, 14:38:42:

回答: 程序大概是南方人编的 由 testtest 于 2007-03-29, 22:34:23:

代码:

<script language="JavaScript" type="text/JavaScript"><!--
//----------------------------------------------------------------------------------------
// Modified by gadfly 08/10/2007
// Source from SMF (a free, professional grade software package)
// http://docs.simplemachines.org/index.php?topic=57
//
// ChangeLog - 08/10/2007
//   * Removed IE specific function storeCaret() (use <img unselectable...> instead)
//   * Move the caret next to '=' if necessary
//   * Changes made to selection range
//
//----------------------------------------------------------------------------------------
// function sendText(tag, tso)
//
// @Param tag: <String>
//     BBCode Tag: ['url', 'img', 'b', 'i', 'u', 'color', 'size', 'quote', 'list', 'code']
//     required
//
// @Param tso: <String> 
//     Tag Specific Option: 
//         '=' as in [color=][/color]
//         '][*' as in [list][*][/list]
//     optional
//
function sendText(tag, tso)
{
    if (!tso) tso = "";
    var txtArea = document.xyspost.body;
    var tagLeft = "[" + tag + tso + "]", tagRight = "[/" + tag + "]";

    if (txtArea.createTextRange)    // IE
    {
        var caret = document.selection.createRange(), txt = caret.text;
        var sel = tagLeft + txt + tagRight;
        var end = -tagRight.length, start = end - txt.length;
        caret.text = txt.charAt(txt.length - 1) == ' ' ? sel + ' ' : sel;

        if (tso == "=") end = start = start - caret.text.length - 1;

        caret.moveStart("character", start);
        caret.moveEnd("character", end);
        caret.select();
    }
    else if (txtArea.setSelectionRange)    // W3C standard
    {
        var top = txtArea.scrollTop;    // save scrollTop
        var start = txtArea.selectionStart, end = txtArea.selectionEnd, txt = txtArea.value;
        var sel = txt.substring(start, end);
        txtArea.value = txt.substr(0, start) + tagLeft + sel + tagRight + txt.substr(end);    // insert bbcode
        start += tagLeft.length;    // set the new selected
        end = start + sel.length;    // range of the textbox

        if (tso == "=") end = --start; // move the cursor next to '=' without selecting text if necessary

        txtArea.setSelectionRange(start, end);
        txtArea.focus();
        txtArea.scrollTop = top    // restore
    }
    else
    {
        txtArea.value += tagLeft + tagRight;
        txtArea.focus(txtArea.value.length - 1);
    }
}
//--></script>




所有跟贴:


加跟贴

笔名: 密码: 注册笔名请按这里

标题:

内容: (BBCode使用说明