[英]onresize event in CodeMirror textarea
当用户调整 CodeMirror 文本区域的大小时,我想调用一个函数。 但是我在 CodeMirror文档的事件列表中找不到 resize 事件。 有什么方法可以做到这一点。 我想做如下。
editor.on('resize', function(){
consolo.log('editor resized');
});
您可以为其使用refresh
事件:
editor.on("refresh", function () {
console.log('editor resized');
});
根据 CodeMirror 的文档:它在编辑器刷新或调整大小时触发。
CodeMirror 没有内置事件,当用户更改编辑器的大小时会触发该事件。 但是,您可以使用"refresh" (instance: CodeMirror)
。 它在使用 setSize 以编程方式更改编辑器的大小时触发。
使用ResizeObserver
可以很容易地观察任何 DOM 元素的ResizeObserver
。
ResizeObserver 接口报告对 Element 的内容或边框框或 SVGElement 边框的尺寸的更改。 -https://developer.mozilla.org
// create an Observer instance
const resizeObserver = new ResizeObserver((entries) => {
const height = entries[0].target.clientHeight;
console.log("div.CodeMirror.CodeMirror-wrap height changed:", height);
});
const codeMirror = document.querySelector("div.CodeMirror.CodeMirror-wrap");
resizeObserver.observe(codeMirror);
在上面的代码中,我观察了CodeMirror最外层元素的大小。 你可以缩小范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.