2016-09-22 26 views
3

我有以下button,只有在满足给定条件时才会激活(点击启用),尽管可视禁用buttonclick事件仍然会在用户单击时触发。尽管在Aurelia中禁用了按钮点击事件,但它为什么被触发?

<button class="btn btn-default" click.delegate="doSomething()" type="submit" disabled.bind="true"></button> 

[更新] 清理时,例如,张贴在这里改变falsetrue我误插错标志。这个问题仍然有效。

+0

你是如何在视觉上禁用按钮? –

+0

您是否找到解决方案? – BuildingJarl

+1

快速的解决方法是在这种情况下使用'click.trigger'而不是'click.delegate'。 https://github.com/aurelia/binding/issues/163 – BuildingJarl

回答

-1

您正在将disabled属性绑定到值false,这意味着属性disabled将不会添加到按钮中。如果你想按钮被禁用,这样做:

<button class="btn btn-default" click.delegate="doSomething()" type="submit" disabled.bind="true"></button>

+1

请参阅更新。 – MaYaN

+0

@MaYaN,如果你问如何禁用一个按钮,那么我提供的(以及你更新的)*工作*。如果你有什么仍然在调用'doSomething()'函数,那么你有其他代码导致你的问题。按钮上的'disabled'属性不仅仅是_visually_禁用它,它禁用了实际的点击功能 – Andrew

+0

那么这也是我的预期,但它不是:-)我看我是否可以把我刚刚测试过的jsFiddle – MaYaN

-1

disabled.bind需要被设置为true,以防止click.delegate="doSomething()"被解雇。尝试在视图模型中暴露布尔变量并将disabled.bind="false"更改为disabled.bind="someBoolVar"。当满足某个条件时,在视图模型中将someBoolVar设置为true或false;这将确定是否触发与该按钮关联的事件。

+1

请参阅更新。 – MaYaN

相关问题