如何使用jquery选择div焦点时的所有单词

时间:2010-11-27 21:30:57

标签: javascript jquery select

这是我的代码:

<div id="box" style="border:1px solid red;height:100px;width:150px;position:relative;background:#eee">
        <div id="head" style="background:black">drag me</div>
        <div id="content" contenteditable=true style="border-bottom:1px solid red;height:70px;margin-bottom:5px;"> edit it </div>
        <input id="ok" type="button" value="ok"/>
        <input id="cancel" type="button" value="cancel"/>
    </div>

,脚本是:

$('#content').focus()

演示在这里:http://jsfiddle.net/VRxZe/8/

如何选择“编辑”

感谢

2 个答案:

答案 0 :(得分:3)

如果要在某个元素中选择文本,可以使用范围。以下代码适用于Firefox,Opera和Chrome。另一个故事是IE。对于此浏览器,您必须create新的TextRange对象并使用其方法moveToElementText并选择。

var content = document.getElementById('content');
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(content);
selection.removeAllRanges();
selection.addRange(range);
content.focus()

以下代码适用于IE

var content = document.getElementById('content');
var rng = document.body.createTextRange();
rng.moveToElementText(content);
rng.select();
content.focus()

希望这有帮助。

答案 1 :(得分:2)

嗯,你几乎就在那里:)

  $('#box').focus(function()
           {
                $('#content', this).select();

           });