我在这里遇到一个非常简单的问题。
我想在前端生成一个普通的链接,但它似乎无法以某种方式工作。这是我用于生成链接的代码(该链接是一个按钮,在该按钮之前点击了一个带有指定URL的新窗口)。
{
xtype: 'button',
id: 'PrintTool',
tooltip: 'Printer Friendly',
iconCls: 'icon-printerFriendly',
html: '<a href=\"http:\/\/www.google.at\">x<\/a>',
listeners: {
'click': function(button,event) {
console.log(this);
console.log(event);
this.restoreClick();
return true;
}
}
}
当ExtJS渲染它所做的按钮时,我会向对象添加一个html属性,这是一个链接。
我可以看到与FireBug的链接。当我点击链接时,我得到了输出
console.log(this);
console.log(event);
控制台中的
所以事件被解雇了。但链接永远不会打开。
我认为这与从ExtJS停止的CLICK事件有关。
似乎尽管在Firebug中HTML中没有按钮,但传递给click事件的对象仍然是按钮。
所以我的问题是,如何在不设置xtype按钮的情况下在ExtJS中创建普通HTML。或者我如何生成普通链接。
我曾经在点击按钮后打开弹出窗口。弹出窗口被Chrome,IE和其他各种浏览器阻止,因此我必须使用带有URL的普通链接。
答案 0 :(得分:4)
在ExtJS论坛中找到了我的问题的答案
使用LinkButton作为Animal编写的扩展名
答案 1 :(得分:1)
您还可以使用标签组件的html属性并从那里调用控制器函数。例如:
{xtype: 'label',
html: 'bla bla? <a href="#" onClick="javascript:appName.app.getController(\'myController\').showRegistration();">Register</a>'
}