相关疑难解决方法(0)

Javascript从页面上的任何textinput/textarea获取选定的文本

如果我不知道哪一个是活动的(聚焦的),如何从文本框/文本区域中获取所选文本.我正在尝试创建一个小书签,它将纠正页面上任何类型的输入中的选定文本.

javascript bookmarklet

6
推荐指数
1
解决办法
1万
查看次数

在输入字段中具有永久值,同时仍能够向其添加文本

我不知道这是否可行,但我希望有一个输入字段,我将拥有一个用户无法编辑的值.但是,我不希望输入字段是"只读",因为我仍然希望用户能够在值之后添加文本.

如果您对如何做到这一点有任何想法,请告诉我,这将对我有所帮助.

编辑:我使用HTML表单.

html field input readonly

6
推荐指数
1
解决办法
7324
查看次数

使用jQuery在文本区域的光标位置创建工具提示

我正在尝试在文本区域中的输入插入符号上方创建工具提示.如果我可以在文本区域中获得插入符号的x,y坐标,这将很容易,但是我已经搜索了一会儿并且无法弄清楚如何做到这一点.

假设用户在文本区域中键入然后按某个键(例如@符号).我试图在文本区域插入符号上方显示一个小工具提示.

有任何想法吗?

jquery

6
推荐指数
1
解决办法
3951
查看次数

将标签放在用户突出显示的文本旁边

我需要获取用户选择的textarea区域,然后在其<a>周围插入标签.

我使用它来获取用户选择的区域:

var textComponent = document.getElementById('article');
var selectedText;

if (document.selection != undefined)
{
    textComponent.focus();
    var sel = document.selection.createRange();
    selectedText = sel.text;
}

// Mozilla version
else if (textComponent.selectionStart != undefined)
{
    var startPos = textComponent.selectionStart;
    var endPos = textComponent.selectionEnd;
    selectedText = textComponent.value.substring(startPos, endPos)
}
Run Code Online (Sandbox Code Playgroud)

现在,我知道我可以对用户选择的文本进行字符串搜索并在其周围插入标签,但是如果用户选择的文本在文本中出现两次会发生什么情况,例如.

你好,告别你,再见.

如果用户突出显示他们想要的链接的第二个"你",那么字符串替换肯定会在"你"的每个实例周围放置一个标签.

什么是最好的方法呢?

javascript jquery

6
推荐指数
1
解决办法
1738
查看次数

Rangy(JS/jQuery)拆分节点

如何在某个位置(选择)拆分节点/元素.

示例我有这个标记:

<p>This is <a href="">a te|st</a>, you like?</p>
Run Code Online (Sandbox Code Playgroud)

(此管道代表位置/选择)

我想将其转换为:

<p>This is <a href="">a te</a></p>|<p><a href="">st</a>, you like?</p>
Run Code Online (Sandbox Code Playgroud)

保持选择.

有任何想法吗?

我使用Rangy库和jQuery,但如果适用的话可以使用原始JS.

javascript jquery rangy

6
推荐指数
1
解决办法
1900
查看次数

如果新值无效,则防止输入更改

假设抽象验证器回调根据新字符串值是否有效返回 true 或 false:

function isValid(text) {
   /* arbitrary code, returns true or false */
}
Run Code Online (Sandbox Code Playgroud)

我想在 HTML/JavaScript 的输入字段中应用此回调。验证器中的代码可以是任何类型的验证器。

我见过人们使用keyup事件来阻止输入某些字符。这是有缺陷的方法,显然无法验证整个输入字段。

我尝试取消input活动,但不起作用:

  myInputField.addEventListener("input", function(e) {
    console.log(e);
    e.preventDefault();
    return false;
  });
Run Code Online (Sandbox Code Playgroud)

在我遇到的大多数 GUI 框架(Java Swing、C++ Qt)中,这就像在输入字段上分配验证器回调一样简单。我如何在 JavaScript 中执行此操作?

javascript validation

6
推荐指数
0
解决办法
5597
查看次数

在所选文本周围插入标签

我已经环顾四周,但其他答案并没有真正帮助我.

我想创建一个小的WYSIWYG编辑器,只需要添加链接和添加列表的选项.我的问题是当点击其中一个链接/按钮(例如"添加链接")时,如何在文本区域中的选定文本周围添加标签?

html javascript jquery

5
推荐指数
2
解决办法
5273
查看次数

Javascript:检测Carets父节点

我正在iframe中使用designMode构建一个简单的WYSIWYG编辑器,目前我可以使所选文本变为粗体,斜体和下划线以及链接,并且它们工作正常.

但我想知道什么时候caret是内部的b,i,u,a,标签,这样我就可以通知当前的选择是勇敢的或任何用户.

例子:

Hello <b>Stackover|flow</b> is cool!=你在b标签内

<i>Be|st place</i>!=你在i标签内

Hello <a href="http://stackoverflow.com/">Go|od stuff!</a>=你在a标签内

没有图书馆,我想学习这个东西:)

javascript wysiwyg parent caret

5
推荐指数
1
解决办法
1669
查看次数

如何将光标移动到文本框的前面?

我有这个文本框:

<input type="text" name="url" id="url-input" />
Run Code Online (Sandbox Code Playgroud)

而这段代码:

var inputText = "Hello World";
$(document).ready(function() {
  $("#url-input").focus();
  $("#url-input").val(inputText);
});
Run Code Online (Sandbox Code Playgroud)

实际上,光标显示在文本框末尾的"Hello World"之后(无论以何种顺序添加焦点或更改值).我怎么能把它移到前面?

谢谢

编辑 - 这是jsFiddle:http://jsfiddle.net/dmRND/

javascript jquery

5
推荐指数
1
解决办法
3360
查看次数

更改HTML文本框:覆盖而不是作为用户类型插入

我正在开发一项允许编辑文本的服务.为了帮助用户完成此过程,我想允许用户将文本字段设置为覆盖模式,如Word中所示,等等.如何将HTML文本框的行为更改为覆盖而不是插入文本作为用户类型?

例如,如果文本框有文本:

This is a trst.
Run Code Online (Sandbox Code Playgroud)

用户可以在r和t之间单击,键入单个e,然后文本将是

This is a test.
Run Code Online (Sandbox Code Playgroud)

用光标es.之间的光标.我目前正在使用jQuery,因此使用该方法或纯javascript的方法将是首选.不过,我会接受任何合理的解决方案.

html javascript jquery

5
推荐指数
1
解决办法
6466
查看次数

标签 统计

javascript ×8

jquery ×6

html ×3

bookmarklet ×1

caret ×1

field ×1

input ×1

parent ×1

rangy ×1

readonly ×1

validation ×1

wysiwyg ×1