Extjs 使用Ext.DomHelper.insertHtml在浏览器中显示对象
由于我是ExtJS新手,因此我提前感谢您的耐心。我试图在加载我的存储时添加一个html元素。目前,它正在将object[object]追加到页面中,但我需要显示div本身。DomHelper行中的tileDiv是我的问题。我的代码如下:Extjs 使用Ext.DomHelper.insertHtml在浏览器中显示对象,extjs,extjs3,Extjs,Extjs3,由于我是ExtJS新手,因此我提前感谢您的耐心。我试图在加载我的存储时添加一个html元素。目前,它正在将object[object]追加到页面中,但我需要显示div本身。DomHelper行中的tileDiv是我的问题。我的代码如下: function handleKeyUp(e) { var code = e.keyCode ? e.keyCode : e.which; if (code === 38) { //up key alert('up'); } els
function handleKeyUp(e) {
var code = e.keyCode ? e.keyCode : e.which;
if (code === 38) { //up key
alert('up');
} else if (code === 40) { //down key
alert('down');
}
}
var tileDiv = new Ext.Element({
tag: 'div',
id: tileId,
cls: 'tile',
html: html,
listeners: {
keyup: handleKeyUp,
scope: this
}
});
Ext.DomHelper.insertHtml('beforeEnd', this.el.dom, tileDiv);
您混淆了Ext元素和htmldom元素。Ext元素是由ExtJS创建的一个对象,它封装了一个DOM元素 看看文件:
insertHtml( where, el, html ) : HTMLElement
Inserts an HTML fragment into the DOM.
它希望最后一条语句是HTML片段。您正在传递一个Ext.Element
您可能正在尝试这样做:
Ext.onReady(function(){
Ext.DomHelper.append(Ext.getBody(), {
tag: 'div',
id: 'tileId',
cls: 'tile',
html: '<h1>Hello world</h1>',
listeners: {
keyup: function handleKeyUp(e) {
var code = e.keyCode ? e.keyCode : e.which;
if (code === 38) { //up key
alert('up');
} else if (code === 40) { //down key
alert('down');
}
},
scope: this
}
});
});
Ext.onReady(函数(){
Ext.DomHelper.append(Ext.getBody(){
标签:“div”,
id:'tileId',
cls:“瓷砖”,
html:“你好,世界”,
听众:{
keyup:功能手柄keyup(e){
var代码=e.keyCode?e.keyCode:e.which;
如果(代码===38){//up键
警惕(“向上”);
}如果(代码===40){//向下键
警惕(“下降”);
}
},
范围:本
}
});
});
请注意,事件处理程序onKeyUp将只在可聚焦元素上工作。(请参阅)关于我的困惑,你是完全正确的。我用了append,它很管用。我真是太感谢你了!