有没有办法测量一个tinymce编辑器实例中的元素?我需要测量一个表的宽度和它的列,以便我可以找到表的相对列宽,下面的代码返回0,即使表中有内容。
var doc = tinymce.get('text_box_desc0').getDoc();
var width = $('table', doc).width();
alert(width);
答案 0 :(得分:1)
是的,这是可能的。
以下是如何使用getBoundingClientRect()
获取某些信息的示例
var ed = tinymce.get('text_box_desc0');
// this will take the first table in the editor, you may define another selector to get 'your' table element
var elem = $(ed.getBody()).find('table:first').get(0);
try {
box = elem.getBoundingClientRect();
}
catch(e)
{
console.log('error creating box: ' + e);
}
// various info
var doc = ed.getDoc(),
docElem = doc.documentElement,
body = ed.getBody(),
win = ed.getWin(),
clientTop = docElem.clientTop || body.clientTop || 0,
clientLeft = docElem.clientLeft || body.clientLeft || 0,
scrollTop = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop,
scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft,
top = box.top + scrollTop - clientTop,
left = box.left + scrollLeft - clientLeft;
您正在寻找的是
box.width;
但还有更多属性,如
box.height;