jquery 范围选择 contenteditable=“false”上的前一个元素

发布于 2024-12-23 17:03:51 字数 790 浏览 2 评论 0原文

我有这个片段:

<div contenteditable="true"> father
      <a contenteditable="false" href="#"> myLink </a>
</div>

我的问题是,如果我在后面放置插入符号

</a> 

,然后尝试退格以删除 myLink html 标签,它在 Firefox 中不起作用,但在 Chorme、Opera、safari 和 explorer 中起作用。 另一方面,如果在 Firefox 中我选择

<a contenteditable="false" href="#"> myLink </a>

然后用退格键删除它,它就可以了!

可能的解决方法是

<a contenteditable="false" href="#"> myLink </a>

当用户数字退格键时以编程方式选择元素的范围。

我怎样才能在 jquery 中做到这一点? 如果插入符光标位于

</a>

用户数字退格键之后,我想选择

<a contenteditable="false" href="#"> myLink </a>

并删除该节点。

I have this snippet:

<div contenteditable="true"> father
      <a contenteditable="false" href="#"> myLink </a>
</div>

My problem is that if I place caret after

</a> 

and I try to backspace for remove myLink html tag, It doesn't work in firefox, but it works in chorme, opera, safari and explorer.
Other hand if in firefox I select

<a contenteditable="false" href="#"> myLink </a>

and then delete it with backspace it works!.

Possible workaround It is range selecting of the element

<a contenteditable="false" href="#"> myLink </a>

programmatically when user digit backspace key.

How can I do this in jquery?
If the caret cursor is after

</a>

and user digit backspace I want select

<a contenteditable="false" href="#"> myLink </a>

and remove that node.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花落人断肠 2024-12-30 17:03:51

添加一个带有 contenteditable=true 的 span 标签,如下所示,

myLink

在这里检查 jsFiddle

我测试过在 FF、IE 8 和 Chrome 中,可以使用退格键将其删除,但在 FF 和其他浏览器中的用户体验有所不同。

我不确定这是否是最好的方法。

编辑:似乎已经回答了此处

Add a span tag with contenteditable=true like below,

<a contenteditable="false" href="#"><span contenteditable="true"> myLink </span></a>

Check jsFiddle here,

I tested it in FF, IE 8 and Chrome and was able to remove with backspace, but the user experiance is different in FF and other browsers.

I am not sure if this is the best way to do it.

Edit: Seems like this is already been answered here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文