Extjs:修改链接(<a>) &#39;on click&#39;</a>

时间:2011-04-08 06:53:28

标签: html dom extjs hyperlink

我使用 Extjs BoxComponent 创建了一个 HTML 链接(<a>),它运行正常。但是,我希望能够在用户点击链接时更新href属性,而不是使用与链接关联的固定网址。

在下面的代码中,href在用户cliks链接时更新,我可以使用HTML元素上的FireBug进行验证。但是新页面打开时我没有加入href

问题: 修改href上的onClick是否为时已晚,还是因为我正在以错误的方式修改href

代码

xtype: 'box',
html: '<a href="www.google.com" target="_blank">Link to google</a>',        
listeners: {
    render: function (c) {          
        c.getEl().on(
            'click',
            function() {
                this.el.child('a', true).href = 'www.google.com/#q=' + some_dynamic_value;
            },
            c,
            { stopEvent: false }
        );
    }
}

2 个答案:

答案 0 :(得分:3)

使用mousedown事件而不是click事件看起来可以这样做。

退房:http://jsfiddle.net/sadkinson/rF5TQ/15/

答案 1 :(得分:1)

有可能在点击发生时更改其中的网址为时已晚。是否有可能导致您的链接需要更新,而不是等到用户点击链接后才能进行更新?

我认为许多浏览器会忽略这一点,因为它是一种有效的恶意方式。设置一个链接说“google”,然后将你重定向到一些病毒浏览的网站等,即使是最明智的用户希望看到链接会带他们去哪里也会看到谷歌,直到为时已晚。