Roddy大神请问addContextmenu如何获取编辑器内div标签里的属性?

发布于 2021-11-14 16:15:53 字数 100 浏览 807 评论 6

Roddy大神,请问editor.cmd.commonAncestor('div');为何获取到的是null?如果自己做一个plugin如何让addContextmenu右键菜单绑定到该插件上?谢谢!

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

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

发布评论

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

评论(6

落墨 2021-11-18 19:58:50

感谢Roddy!右键搞定,还想请教一个问题:模板插件如何可以调用中文名称的html文件?

我decodeURIComponent()没有成功。谢谢!

掩饰不了的爱 2021-11-18 19:10:16

那个不用考虑了,是为了区分图片类型,DIV不存在这样的判断。

猫性小仙女 2021-11-18 18:24:41

Roddy大神,再麻烦您下,请问下面这个里!/^ke-w+$/i是什么含义?.test()函数呢?十分感谢!

return !/^ke-w+$/i.test(img[0].className);
爱的那么颓废 2021-11-18 01:50:12

选择DIV和点击DIV里的某个元素是不同的行为,前者不能用commonAncestor获取。

可以参考选取图片的代码:

function _getImageFromRange(range, fn) {
	if (range.collapsed) {
		return;
	}
	range = range.cloneRange().up();
	var sc = range.startContainer, so = range.startOffset;
	if (!_WEBKIT && !range.isControl()) {
		return;
	}
	var img = K(sc.childNodes[so]);
	if (!img || img.name != 'img') {
		return;
	}
	if (fn(img)) {
		return img;
	}
}

如日中天 2021-11-17 09:33:17

Roddy,请问如何选取某个指定div后弹出右键菜单?麻烦您帮我看看,十分感谢!

editor.cmd.selection();
    editor.addContextmenu({
        title : 'InsertDiv',
        click : function() {
            var div_html = editor.plugin.getSelectedDiv();
            if(div_html){
                editor.cmd.range.selectNodeContents(div_html[0]);
                editor.cmd.selection();
                alert(div_html.attr('id'));
            }else{
                alert('div不存在');
            }
            editor.hideMenu();
        },
        width : 150,
        cond : function(){
            var div_html = editor.cmd.commonAncestor('div');
            if (div_html) {
                editor.cmd.range.selectNodeContents(div_html[0]);
                editor.cmd.selection();
            }else{
                alert('div不存在!');
            }
            return div_html;
        }
    });

如上代码在点取了div后右键总是div不存在! 麻烦您给看看,谢谢!

情场扛把子 2021-11-15 00:16:17

用addContextmenu关键字搜索kindeditor.js,参考相关代码。

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