我正在使用 ace 编辑器,并且当用户输入长于当前大小时,我无法将其修改为自动扩展:这是我目前拥有的方式(它有一个 shift+enter 处理程序),但它不起作用。
Typist.prototype.heightUpdateFunction = function() {
var newHeight =
ac.getSession().getScreenLength()
* ac.renderer.lineHeight
+ ac.renderer.scrollBar.getWidth();
$(settings.id).height(newHeight.toString() + "px");
ac.resize();
};
Typist.prototype.createinput = function(settings,handler) {
var that = this;
var $typepad = $("<div/>" ,{
id : settings.id,
}).css({position:'relative', height: '40px'}) ;
$(that.place).append($typepad);
var ac = ace.edit(settings.id);
ac.commands.addCommand({
name : 'catchKeys',
bindKey : { win : 'Shift-Enter', mac : 'Shift-Enter' },
exec : function (ac) {
if (typeof handler === "function") {
handler(ac);
}
},
readOnly : false
});
that.heightUpdateFunction();
ac.getSession().on('change', that.heightUpdateFunction);
return true;
};
我怎样才能让它工作?当前的代码没有。我将如何访问调用高度更新的对象?(或包含 ace 编辑器的 div 的“id”,因为我有几个,每个都有一个 id 可通过
a.inpid
给定
a = new Typist()
我的尝试来自阅读这种类似的问题,我不想那样做,因为我将在页面上有几个 ace 编辑器,我需要知道要应用高度调整的那个的 id。