javascript – TinyMCE 4 – 获得插入位置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – TinyMCE 4 – 获得插入位置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1553字,纯文字阅读大概需要3分钟。
内容图文
![javascript – TinyMCE 4 – 获得插入位置](/upload/InfoBanner/zyjiaocheng/756/c5734ef741a04cd3bf2166be6da7d96a.jpg)
我想在Tiny MCE 4中得到插入位置,但我不想得到行/列号 – 我想获得像素的位置(x& y dimmension).它可以是任何东西.
最后一件事 – 我想这样做而不在内容中创建任何额外的标签,比如书签.
TinyMCE有办法做到这一点吗?或者是否可以选择以像素为单位获取书签位置,然后删除它?
谢谢你的回复
解决方法:
好的,我找到了.
首先你需要得到tinymce.Editor类的实例var editor = new tinymce.Editor(); //或其他方式,如tinyMCE.activeEditor
接下来获取tinyMCE小部件的jQuery位置:
var tinymcePosition = $(editor.getContainer()).position();
var toolbarPosition = $(editor.getContainer()).find(".mce-toolbar").first();
现在获取您当前编辑的HTML节点的位置:
var nodePosition = $(editor.selection.getNode()).position();
var textareaTop = 0;
var textareaLeft = 0;
我们有Y轴位置(通过nodePosition.top),是时候得到X:
if (editor.selection.getRng().getClientRects().length > 0) {
textareaTop = editor.selection.getRng().getClientRects()[0].top + editor.selection.getRng().getClientRects()[0].height;
textareaLeft = editor.selection.getRng().getClientRects()[0].left;
} else {
textareaTop = parseInt($($this.selection.getNode()).css("font-size")) * 1.3 + nodePosition.top;
textareaLeft = nodePosition.left;
}
我们在textareaTop&& textarea相对于TinyMCE编辑器窗口(textarea)的插入符号的左侧位置.现在是时候相对于整个页面(浏览器窗口)获取位置:
var position = $(editor.getContainer()).offset();
var caretPosition = {
top: tinymcePosition.top + toolbarPosition.innerHeight() + textareaTop,
left: tinymcePosition.left + textareaLeft + position.left
}
解决方案基于autocomplete plugin for TinyMCE 3,我根据我在TinyMCE 4中的需求进行了调整.
内容总结
以上是互联网集市为您收集整理的javascript – TinyMCE 4 – 获得插入位置全部内容,希望文章能够帮你解决javascript – TinyMCE 4 – 获得插入位置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。