如何测试所选文本是否为链接
How to test if selected text is a link?
我有一个非常简单的所见即所得编辑器,使用contenteditable。它工作正常,但我想测试所选文本是否被用作链接。 当我使用document.queryCommandState('CreateLink')时,它总是返回false,即使文本在锚点内也是如此。 下面是示例。
我做错了,还是有另一种方法可以测试文本当前是否用作链接?
<script>
function testLink () {
// check if this is a link
var state = document.queryCommandState('CreateLink');
alert(state);
// create the link
document.execCommand ('CreateLink', false, 'http://www.example.com');
}
</script>
<div contenteditable="true">Here is some sample text to test with.</div>
<br /><br />
<button onclick="testLink();">Test the state of the create link command</button>
这是一个旧线程,但由于我目前正在处理相同的问题,我想向您指出一个已经存在的答案: 检查exec命令创建链接状态
简而言之,queryCommandState("CreateLink")似乎不是这样工作的。我使用 rangy 在我的所见即所得编辑器中处理选择。我检查父节点是否是锚点,然后获取锚点的 href 以将其写入我的链接对话框。这是我脚本中的一个简化示例:
var range = rangy.getSelection().getRangeAt(0);
var container = range.commonAncestorContainer;
if (container.nodeType == 3) {container = container.parentNode;}
if(container.nodeName === "A") {alert ("Yes, it's an anchor!");}
相关文章:
- 检查所选文本是否在给定的CSS类中
- 如何使用jQuery检查文本框中的文本是否 asp.net 选中
- 检查输入/文本区域中粘贴的文本是否存在无效的章程
- jQuery 验证输入文本是否仅接受数字、单词或日期
- 谷歌脚本查看文本是否包含值
- 检测文本是否在鼠标上突出显示jQuery
- 如何检查所选文本是否可编辑
- 如何使用右键单击检测文本是否已粘贴
- (IE 特定)如何确定输入的文本是否比输入元素的宽度长
- 如何测试所选文本是否为链接
- 检查文本是否为 HTML
- 检查文本是否包含图像网址(正则表达式)
- JavaScript 检查链接内的文本锚文本是否溢出
- 使用 JQuery 检查所选文本是否是较大节点的一部分
- TinyMCE - 检查文本是否被选中
- 在上下文菜单中,Chrome如何知道文本是否为URL
- jquery检查文本是否已从输入字段中删除
- 如何检查网页中的文本是否有粗体
- 动态检查文本是否转到下一页,并使用pdfmake在pdf中添加分页符
- 检查所有输入文本是否为空,如果至少有一个已填充,则打开颜色框