2016-09-22 25 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

相關問題