在div元素上设置游标?

时间:2010-09-24 10:02:15

标签: javascript

如何在javascript中将光标设置在div元素上?

我有一个表格(div-element not input),上面附有文本字符串。我希望删除文本字符串,并将光标设置在元素的开头onclick。

我使用onclick事件删除了div元素中的内容:divElement.innerHTML = '';

现在我想要设置光标吗?

3 个答案:

答案 0 :(得分:2)

如果您指的是鼠标指针,请使用CSS cursor样式,如下所示:

#mydiv {
    cursor: help;
}

您可以使用大量标准选项。您还可以定义要用作指针的图形(尽管这具有跨浏览器兼容性问题)。

有关详细信息,请参阅this page on Quirksmode

同样,如果你想在Javascript中动态地执行它,那么只需设置对象的样式:

document.getElementById('mydiv').style.cursor = 'help';

答案 1 :(得分:1)

如果通过'cursor',你的意思是文本光标(也就是插入符号),我假设你真正想问的是如何将div变成可编辑的内容框。

您需要在div上设置contentEditable属性。

如果您希望它从一开始就可以编辑,只需将其包含在您的HTML代码中:

<div contentEditable="true">....</div>

如果要打开/关闭它,可以在javascript中设置:

mydiv.contentEditable="true"

然而,我唯一能想到使用contentEditable而不是textarea的时候就是你正在编写WYSIWYG HTML编辑器。

其余的大部分时间我会说最好使用<textarea>。您可以将其样式设置为与页面的其余部分相似,并且可以在不希望更改时将其设置为只读或禁用。但是在表单和Javascript中使用起来要容易得多。使用div的问题在于它可能包含其他html标记,这可能会影响它的工作方式,并且如果您可以直接编辑它,可能会让您遇到安全问题。

答案 2 :(得分:0)

divElement.style.cursor ='whatever';

如果你想移动光标超过divElement,那么你不能。