为什么在Aurelia中禁用了按钮点击事件?

时间:2016-09-22 15:41:26

标签: aurelia aurelia-binding aurelia-framework

我有以下button我希望仅在满足给定条件时才能激活(单击已启用),但尽管可视禁用button {{1}当用户点击时,仍会触发事件。

click

[更新] <button class="btn btn-default" click.delegate="doSomething()" type="submit" disabled.bind="true"></button> 更改为false我在清理示例时错误地插入了错误标记,以便在此处发布。这个问题仍然有效。

2 个答案:

答案 0 :(得分:0)

您将disabled属性绑定到值false,这意味着属性disabled将不会添加到按钮中。如果要禁用该按钮,请执行以下操作:

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

编辑:基于问题更改
您的代码正常运行。如果元素上有disabled属性,则此按钮被禁用,这意味着无法触发单击事件,如果单击事件无法触发,则您不会触发该doSomething功能。
您的函数可能仍然触发的原因可能是基于代码中的其他位置。随着事件冒泡,很可能另一个事件被触发,并且冒泡到了doSomething,但老实说,如果没有足够的代码上下文,你的函数仍然被调用的具体原因无法确定。

<强> TL; DR
您的代码在干净的环境中工作,如果它仍然失败,那么您的代码库中还有其他内容会导致此问题。

答案 1 :(得分:-1)

需要将

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