s?@Scott B,我理解这个问题,我只是找不到任何方法可以通过jQuery/JavaScript自动选择(非输入/文本区域)文本。@Scott B,请查看我的答案(页面上的其他地方)以获得最佳答案。我想他希望它可以作为上下文菜单的文本选择(或其他任何内

s?@Scott B,我理解这个问题,我只是找不到任何方法可以通过jQuery/JavaScript自动选择(非输入/文本区域)文本。@Scott B,请查看我的答案(页面上的其他地方)以获得最佳答案。我想他希望它可以作为上下文菜单的文本选择(或其他任何内,jquery,Jquery,s?@Scott B,我理解这个问题,我只是找不到任何方法可以通过jQuery/JavaScript自动选择(非输入/文本区域)文本。@Scott B,请查看我的答案(页面上的其他地方)以获得最佳答案。我想他希望它可以作为上下文菜单的文本选择(或其他任何内容)用于复制到剪贴板;“我不认为他想改变它的风格。@大卫:但他写道“……文本将……突出显示……”。正如@NimChimpsky所指出的,问题的第二个隐藏部分可以用“可拖动”的用户界面代码来完成。我用词不当。在这里,我指的是选择的,而不是样式化的


s?@Scott B,我理解这个问题,我只是找不到任何方法可以通过jQuery/JavaScript自动选择(非
输入
/
文本区域
)文本。@Scott B,请查看我的答案(页面上的其他地方)以获得最佳答案。我想他希望它可以作为上下文菜单的文本选择(或其他任何内容)用于复制到剪贴板;“我不认为他想改变它的风格。@大卫:但他写道“……文本将……突出显示……”。正如@NimChimpsky所指出的,问题的第二个隐藏部分可以用“可拖动”的用户界面代码来完成。我用词不当。在这里,我指的是选择的,而不是样式化的。我认为,出于安全原因,不允许操纵用户的选择。那将是非常邪恶的。这就像如果有人说“嗨”,你会让他说“我想要一个比萨饼”,把它作为比萨饼的订单接受,然后让他付钱……@Justin,也许吧,但我只是让用户在这种情况下选择一块文本更简单。脚本只是用来作为一种快捷方式,允许点击事件(由他们发起)完成选择(许多用户发现这很难做到)。@Justus,是的,但无论如何你都会在服务器端这样做,让客户端看到你在他的订单上捣乱将是“邪恶”等级的低端(和“愚蠢”等级的高端)... =bone只需三次单击即可自动选择跨距的全部内容,三次单击拖动可选择多个跨距内容;)由于此代码驻留在WordPress编辑器中的插件中,并包含在父表单标记中,因此保存或发布帖子时,输入元素的外观是否会改变帖子事件?在这种情况下,我不想在提交中添加噪音。外观应该无关紧要,字段仍然应该是可编辑的,诸如此类。我不希望字段是可编辑的。它们是只读的,仅用于复制/粘贴或拖放到内容中。jQuery是否有在元素的innerText上选择文本的方法?这就是我在这里寻找的。我不相信jQuery有那个方法。但是,您可以禁用输入或将其设置为只读(取决于您的需要),并实现相同的功能。也就是说,下面就是旨在解决问题的SO。不过我还没试过。谢谢大卫。我很感激你的回答。不客气,我知道这不是你想要的,但我希望它能帮上一点忙,至少=/来自jquery文档(.select()):
此事件仅限于字段和框
嗯,我刚到这里时,就像两年前一样..让我休息一下:P我完全同意你的看法
<div id="mySpans">
  <span>&nbsp;This is my text&nbsp;</span>
  <span>&nbsp;This is my text&nbsp;</span>
</div>
$("span").click(function(){
var mytext  = $(this).text()
})
$('#mySpans span').hover(function() {
    $(this).addClass('spanhover');
}, function() {
    $(this).removeClass('spanhover');
});
#mySpans.spanhover {background-color:yellow;}
<input type="text" style="border:none; background:transparent; outline: none;" class="selectOnClick" />
$('input.selectOnClick').click(function(){ $(this).select(); });
<div id="wrap">
    <span class="copyText">This is some text to copy.</span>
    <span>Can't copy <em>this</em> (automatically...)!</span>
    <span class="copyText">And this is yet more text.</span>
</div>
span.copyText {
    position: relative;
    display: block;
}
textarea {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0 none transparent;
    margin: 0;
    padding: 0;
    outline: none;
    resize: none;
    overflow: hidden;
    font-family: inherit;
    font-size: 1em;
}
$(document).ready(
    function() {
        $('.copyText').click(
            function() {
                if ($('#tmp').length) {
                    $('#tmp').remove();
                }
                var clickText = $(this).text();
                $('<textarea id="tmp" />')
                    .appendTo($(this))
                    .val(clickText)
                    .focus()
                    .select();
        return false;
    });
$(':not(.copyText)').click(
    function(){
        $('#tmp').remove();
    });

});
var span = ...
var range = document.createRange();
range.setStartBefore(span.firstChild);
range.setEndAfter(span.lastChild);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
// Selects text inside an element node.
function selectElementText(el) {
    removeTextSelections();
    if (document.selection) {
        var range = document.body.createTextRange();
        range.moveToElementText(el);
        range.select();
    }
    else if (window.getSelection) {
        var range = document.createRange();
        range.selectNode(el);
        window.getSelection().addRange(range);
    }
}

// Deselects all text in the page.
function removeTextSelections() {
    if (document.selection) document.selection.empty(); 
    else if (window.getSelection) window.getSelection().removeAllRanges();
}
.editable {
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    -o-user-select: text;
}
$(".paragraph_quote").on("click", function() {
    var addendum = " [by Author]";

    if (! $(this).attr("contenteditable") || $(this).html().indexOf(addendum) === -1) {     
            $(this).removeData("quote")
            .data("quote", $(this).html())
            .html($(this).html() + addendum)
            .attr("contenteditable", true)
            .addClass("editable")
            .focus()
        ;
    }
    document.execCommand('selectAll', false, null);
}).on("blur", function() {
    $(this).removeClass("editable").html($(this).data("quote"));
});