草庐IT

javascript - 更新文本区域值,但保持光标位置

我有一个html文本区域,它将通过javascript定期更新。当我这样做时:$("#textarea").val(new_val);光标移动到文本末尾。我想在不改变光标位置的情况下更新文本。此外,如果用户选择了一定范围的文本,则应保留突出显示。 最佳答案 这是一对函数,用于获取和设置所有主流浏览器中文本区域中的选择/插入符号位置。注意:如果您不需要支持IEselectionStart和selectionEnd属性(MDN)。下面所有复杂的代码都是为了支持旧版本的IE。functiongetInputSelection(el){va

javascript - 更新文本区域值,但保持光标位置

我有一个html文本区域,它将通过javascript定期更新。当我这样做时:$("#textarea").val(new_val);光标移动到文本末尾。我想在不改变光标位置的情况下更新文本。此外,如果用户选择了一定范围的文本,则应保留突出显示。 最佳答案 这是一对函数,用于获取和设置所有主流浏览器中文本区域中的选择/插入符号位置。注意:如果您不需要支持IEselectionStart和selectionEnd属性(MDN)。下面所有复杂的代码都是为了支持旧版本的IE。functiongetInputSelection(el){va

javascript - 如何使文本区域的插入符号始终保持在视口(viewport)内?

我有一个页面,其中有一个很长的文本区域,用于编辑大量文本。通常,当您键入时,当插入符接近文本区域的底部时,页面会自动滚动以将插入符始终保持在视口(viewport)内(Firefox一次滚动一行,Chrome将插入符滚动到视口(viewport))。我的问题来自于我正在根据用户键入的内容以编程方式更改文本区域的内容。在某些情况下,这涉及添加额外的内容,从而将插入符号推到View之外。只要用户按下一个键,自动滚动就会启动,插入符号就会滚动到View中——但不会在之前滚动,所以当用户输入时,他们会看不到插入符号。我曾希望我可以简单地触发文本区域上的关键事件以使浏览器自动滚动,但触发的事件不

javascript - 如何使文本区域的插入符号始终保持在视口(viewport)内?

我有一个页面,其中有一个很长的文本区域,用于编辑大量文本。通常,当您键入时,当插入符接近文本区域的底部时,页面会自动滚动以将插入符始终保持在视口(viewport)内(Firefox一次滚动一行,Chrome将插入符滚动到视口(viewport))。我的问题来自于我正在根据用户键入的内容以编程方式更改文本区域的内容。在某些情况下,这涉及添加额外的内容,从而将插入符号推到View之外。只要用户按下一个键,自动滚动就会启动,插入符号就会滚动到View中——但不会在之前滚动,所以当用户输入时,他们会看不到插入符号。我曾希望我可以简单地触发文本区域上的关键事件以使浏览器自动滚动,但触发的事件不

html - 是否可以在一个文本区域中使用多种不同的文本颜色?

我希望文本区域中的几个单词/短语以不同的颜色显示...我该怎么做呢?下面是一个示例,我希望绿色这个词显示为绿色等等......Isitpossibletohavemultiplecolorsinatextarea?Howwouldisetcertainphasesorwordstobedifferentcolors?"Green""Red""Blue" 最佳答案 你不能用文本区域或输入标签来做到这一点。但是,正如@naikus提到的,您可以使用contenteditable属性。具体如下:Hello,mynameisBobandIh

html - 是否可以在一个文本区域中使用多种不同的文本颜色?

我希望文本区域中的几个单词/短语以不同的颜色显示...我该怎么做呢?下面是一个示例,我希望绿色这个词显示为绿色等等......Isitpossibletohavemultiplecolorsinatextarea?Howwouldisetcertainphasesorwordstobedifferentcolors?"Green""Red""Blue" 最佳答案 你不能用文本区域或输入标签来做到这一点。但是,正如@naikus提到的,您可以使用contenteditable属性。具体如下:Hello,mynameisBobandIh

javascript - 使 DIV 在 CSS 和 JavaScript 中不可见

通过将显示设置为无并将可见性设置为隐藏,我设法使DIV标记在JavaScript中不可见。也可以用这个类来实现:.invisible{display:none;visibility:hidden;}Displaynone将确保DIV框为空,而visibilityhidden将确保它不可见。这种方法的问题是当我有可滚动的DIV或内容溢出的文本区域时,当你设置display:none时,一些浏览器会忘记这些元素的滚动位置。有没有更好的方法可以在不使用显示属性的情况下使DIV不可见?如果可能的话,我宁愿不使用JavaScript来记录滚动位置等。编辑:在你的帮助下我设法解决了这个问题,我应用

javascript - 使 DIV 在 CSS 和 JavaScript 中不可见

通过将显示设置为无并将可见性设置为隐藏,我设法使DIV标记在JavaScript中不可见。也可以用这个类来实现:.invisible{display:none;visibility:hidden;}Displaynone将确保DIV框为空,而visibilityhidden将确保它不可见。这种方法的问题是当我有可滚动的DIV或内容溢出的文本区域时,当你设置display:none时,一些浏览器会忘记这些元素的滚动位置。有没有更好的方法可以在不使用显示属性的情况下使DIV不可见?如果可能的话,我宁愿不使用JavaScript来记录滚动位置等。编辑:在你的帮助下我设法解决了这个问题,我应用

html - 如何在不增加宽度的情况下向文本区域添加填充?

我一直无法通过CSS设置文本区域元素的宽度和使用填充。填充值似乎会改变文本区域的宽度,我不希望它这样做。这是我的HTML代码:还有我的CSS代码:#body{height:100%;width:100%;display:block;}#editor{height:100%;width:100%;display:block;padding-left:350px;padding-right:350px;}但是,填充值似乎并没有像人们预期的那样工作。textarea的宽度在两个方向上增加了350px,而不是在元素的边界和它的内容之间定义空间。我已经考虑通过将边距设置为“0pxauto”来使文

html - 如何在不增加宽度的情况下向文本区域添加填充?

我一直无法通过CSS设置文本区域元素的宽度和使用填充。填充值似乎会改变文本区域的宽度,我不希望它这样做。这是我的HTML代码:还有我的CSS代码:#body{height:100%;width:100%;display:block;}#editor{height:100%;width:100%;display:block;padding-left:350px;padding-right:350px;}但是,填充值似乎并没有像人们预期的那样工作。textarea的宽度在两个方向上增加了350px,而不是在元素的边界和它的内容之间定义空间。我已经考虑通过将边距设置为“0pxauto”来使文