如何在javascript中将光标设置在div元素上?
我有一个表格(div-element not input),上面附有文本字符串。我希望删除文本字符串,并将光标设置在元素的开头onclick。
我使用onclick事件删除了div元素中的内容:divElement.innerHTML = '';
现在我想要设置光标吗?
答案 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,那么你不能。