javascript - SummerNote:如何验证用户当前选择是否在特定的 html 标签内?

标签 javascript jquery html summernote

我想向我在 Summernote 中制作的按钮添加一个行为,以将 h4 标签添加到选择中:

heading: function (context) {
            var ui = $.summernote.ui;
            var button = ui.button({
              contents: 'H',
              click: function () {
                var range = context.invoke('editor.createRange');
                  if (range.toString()) {
                    var heading = document.createElement('h4');
                    $(heading).text(range.toString());
                    context.invoke('editor.insertNode', heading);
                  } else {
                    context.invoke('editor.formatH4');
                  }
              }
            });

使用当前格式 H4 不适用于我的用例,因为我想将此标签添加到用户范围选择中,而不是仅将整行格式化为 h4

现在我想向我的按钮添加行为,以便当光标位于 h4 标记内时它会被选中

我尝试使用 Summernote api 创建一个范围,但我只是不知道如何使用这个创建的范围来查看我是否在 h4 标签内

最佳答案

我找到了解决方案:

点击并按下按键后,我添加了以下内容:

window.getSelection().anchorNode.parentNode.nodeName

这给了我节点名称,我可以用它来激活或停用按钮

我在这里找到了这个解决方案:

How can I get the element in which highlighted text is in?

关于javascript - SummerNote:如何验证用户当前选择是否在特定的 html 标签内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40114331/

相关文章:

javascript - 如何将 onclick 与 name 属性一起使用?

Javascript:如何验证 4 个相对字段大于另一个字段

jquery - div的深色透明 mask

javascript - 如何循环遍历使文本框可用于输入的 if 语句?

javascript - 使用 RegExp 匹配多个实例并存储值 (JavaScript)

javascript - 无法在数据 map 中的标签名称上选择国家/地区路径(d3、javascript)

javascript - 将 $scope 添加到 Controller

jquery - Django:注册期间有效/可用的用户名/电子邮件的ajax响应

html - 如何删除圆形 corder 的重复项

javascript - Bunyan with webpack - 尝试访问已被填充的 fs