我使用 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 }
);
}
}
答案 0 :(得分:3)
使用mousedown
事件而不是click
事件看起来可以这样做。
答案 1 :(得分:1)
有可能在点击发生时更改其中的网址为时已晚。是否有可能导致您的链接需要更新,而不是等到用户点击链接后才能进行更新?
我认为许多浏览器会忽略这一点,因为它是一种有效的恶意方式。设置一个链接说“google”,然后将你重定向到一些病毒浏览的网站等,即使是最明智的用户希望看到链接会带他们去哪里也会看到谷歌,直到为时已晚。