2
나는 그런 핸들러가 이제 가정하자 :tinymce에서 현재 블록 위치를 얻는 방법은 무엇입니까?
ed.onNodeChange.add(function(ed, cm, e) {
});
어떻게 위치를 얻기를 이벤트를 발사 한 현재의 오브젝트 e
의 (상단 좌표를 왼쪽)?
내 블로킹 팝업 (div)을 현재 블록 아래/위를 그릴 수 있어야합니다.
나는 그런 핸들러가 이제 가정하자 :tinymce에서 현재 블록 위치를 얻는 방법은 무엇입니까?
ed.onNodeChange.add(function(ed, cm, e) {
});
어떻게 위치를 얻기를 이벤트를 발사 한 현재의 오브젝트 e
의 (상단 좌표를 왼쪽)?
내 블로킹 팝업 (div)을 현재 블록 아래/위를 그릴 수 있어야합니다.
이 시도 :
편집기 창에 상대:
// From http://stackoverflow.com/questions/442404/dynamically-retrieve-html-element-x-y-position-with-javascript
function getOffset(el) {
var _x = 0;
var _y = 0;
while(el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
_x += el.offsetLeft - el.scrollLeft;
_y += el.offsetTop - el.scrollTop;
el = el.offsetParent;
}
return { y: _y, x: _x };
}
tinyMCE.init({
// ...
setup: function(ed) {
ed.onNodeChange.add(function(ed, cm, e) {
var coords = tinymce.DOM.getPos(e),
ed_coords = getOffset(ed.getContentAreaContainer()),
x, y;
x = coords.x + ed_coords.x;
y = coords.y + ed_coords.y;
});
}
});
감사 : 편집기를 보유하고 몸에
상대. 그러나 편집기를 기준으로 좌표를 반환합니다. 내 자신의 플로팅 div를 그릴 때 절대적인 것이 필요합니다. 또는 나는 무엇인가 놓치고 있냐? – zerkms
글쎄, 일을 단순하게하기 위해서 항상 편집기 창 좌표를 가져 와서'tinymce.DOM.getPos()'의 결과에 추가 할 수 있습니다. http://simshaun.com/tinymce/blockcoords/에서 나의 예를 보자. – simshaun
그래, 그것도있어. 도움을 주셔서 감사합니다 – zerkms