Javascript 检查多个父标签
Javascript check for multiple parent tags
我构建了一个非常简单的contenteditable
编辑器,它允许以下内容:
- A:友情链接
- H1、H2 标签
- 粗体、斜体和下划线
以上都是通过document.execCommand
完成的,工作正常。我的问题是检查onmousedown
/up
焦点区域是否有父标签(一个或多个)。
我已经设法编写了一个函数,如果存在特定标签,它将检查和更新编辑器的 CSS。但这并不能解释多个标签,我相信一定有一个简单的方法来做到这一点,我忽略了一些东西。
到目前为止我的代码(目前只寻找一个标签):
document.onmousedown = triggerTextSelection;
document.onmouseup = function (event) {
setTimeout(function () {
check(event);
}, 1);
};
function check() {
// The same applies for Bold,Italic,Underline etc...
if (hasParentWithTag(getFocusNode(), 'blockquote')) {
$('.quote-btn').addClass('btn-active');
} else {
$('.quote-btn').removeClass('btn-active');
}
}
function getFocusNode() {
return document.getSelection().focusNode;
}
function hasParentWithTag(node, nodeType) {
while (node.parentNode) {
if (node.nodeName.toLowerCase() === nodeType) {
return true;
}
node = node.parentNode;
}
return false;
}
任何帮助或指导,不胜感激。
而不是检查节点名称是否等于节点类型,你可以创建一个要测试的节点类型数组,然后检查节点名称是否在数组中
相关文章:
- 获取检查输入无线电的标签
- 至于所有输入的标签都用指定的属性来设置,例如属性检查=false
- 在检查输入时切换标签分类 javascript
- 如何使用 jquery 检查该值是否存在于带有标签的 select2 下拉列表中:true
- 检查标签是否存在
- 通过 jquery 检查选定的标签
- 如何使用 html 选项标签并检查选择了哪个选项
- 单击标签,如果复选框道具检查为真
- 如何检查标签是否有任何文本
- Javascript 检查多个父标签
- 如何检查 ul 标签中的文本
- 无论如何可以检查 html 标签的位置
- 如何动态单击标签以仅检查整行
- Javascript:如何检查/删除文档头部的css样式标签
- 检查标签/类是否存在几个标签
- 检查值存在于标签管理器验证器方法内的数组中
- 如何在javascript中检查当前的标签元素
- 如何检查音频标签加载文件是否完成
- 检查多个价格,增加总价标签
- Angular Js-检查内部无线电输入时格式化标签