【问题标题】:Generate a normal Link (<a href="...">) in ExtJS在 ExtJS 中生成一个普通的链接 (<a href="...">)
【发布时间】:2010-07-16 10:11:47
【问题描述】:

我在这里遇到了一个非常简单的问题。

我想在前端生成一个正常的链接,但它似乎无法正常工作。这是我用于生成链接的代码(链接是一个按钮,在该按钮之前打开一个带有指定 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 的普通链接。

【问题讨论】:

    标签: javascript extjs hyperlink click dom-events


    【解决方案1】:

    在 ExtJS 论坛中得到了我的问题的答案

    使用由 Animal 编写的扩展 LinkBut​​ton

    http://www.sencha.com/forum/showthread.php?80639-Ext.LinkButton-A-button-class-which-renders-an-lt-a-gt-element./page3

    【讨论】:

      【解决方案2】:

      您还可以使用标签组件的 html 属性并从那里调用控制器函数。示例:

      {xtype: 'label',
      html: 'bla bla? <a href="#" onClick="javascript:appName.app.getController(\'myController\').showRegistration();">Register</a>'
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-21
        • 1970-01-01
        • 2014-06-10
        • 1970-01-01
        • 1970-01-01
        • 2014-10-21
        • 1970-01-01
        相关资源
        最近更新 更多