0

这让我很烦。我有一个应用程序启动 jQuery 颜色框,然后将内容插入到文本区域编辑器,然后它以这一行关闭:

$.colorbox.close();

问题是我无法返回焦点或鼠标光标在插入内容的末尾闪烁。如何在 jQuery 中做到这一点?我想在关闭颜色框后添加此代码。但我想不通。谢谢您的帮助。

它是一个 Wordpress 文本编辑器,可以通过以下方式选择:

$('#content')

colorbox关闭后我试过这个:

$('#content').focus();

这没用。

4

2 回答 2

1

诀窍是添加到您的颜色框 onClosed 事件(将 #content 替换为您的文本区域的 ID:

                onClosed: function() {

                    //Assign focus after inserting content

                    var content_inserted = $("#content").val();
                    $("#content").focus().val("").val(content_inserted);

                    }

请注意,我根本不能依赖:

$('#content').focus();

即使在 onCLosed 事件中,因为它不会将光标放在其他浏览器(如 Chromium 或 Chrome)上插入文本的末尾。我需要先重置焦点下的文本区域内容,然后再插入。

于 2013-07-11T11:33:21.363 回答
0

这是一个功能

function moveCaretToEnd(el) {
    if (typeof el.selectionStart == "number") {
        el.selectionStart = el.selectionEnd = el.value.length;
    } else if (typeof el.createTextRange != "undefined") {
        el.focus();
        var range = el.createTextRange();
        range.collapse(false);
        range.select();
    }
}

演示:http: //jsfiddle.net/ghAB9/6/

于 2013-07-11T10:30:21.733 回答