2016-03-14 91 views
2

禁用懸停我有一個按鈕,看起來像這樣:與淘汰賽條件

<button data-bind="enable: valid, css:{'btn-primary': valid() === true}"> 

我想禁用與相同條件valid() === true。實質上,我想添加pointer-events: none當我的功能等於true使用敲除綁定。

+1

你最後一句不作對我來說很有意義,特別是在問題標題的背景下(提到「懸停」而你的問題沒有)。也許是語言問題?請澄清你的文章,向我們展示一個小的repro,包括你迄今爲止所嘗試和研究的內容。 – Jeroen

+0

完全的語言問題,英語不是我的主要語言。關於我的問題,我想添加「指針事件:無」,當我的功能與「真」使用敲除綁定相等。 – UserEsp

+1

你可以創建一個新類.pointerevent {pointer-events:none; }你可以添加這個類與你現有的條件css:{'btn-primary pointerevent':valid()=== true} –

回答

1

您的標題顯示「禁用懸停」,但問題(從之前的PO評論中淡化)提及想要添加一個pointer-events css值。我會假定後者是最後的指示。

按照@ SivanrajM的評論,最合理的方法是啓用/禁用類。例如:

ko.applyBindings({ valid: ko.observable(true) }); 
 

 
// For demo purposes: 
 
document.querySelector("button").addEventListener("click", function() { 
 
    alert("clicked!"); 
 
});
.btn-primary { text-transform: uppercase; } 
 
.no-ptr-evts { pointer-events: none; color: red; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script> 
 

 
<button data-bind="enable: valid, 
 
        css: { 'btn-primary': valid, 
 
          'no-ptr-evts': valid }"> 
 
    (try to) click me 
 
</button> 
 
<hr> 
 
<label><input type="checkbox" data-bind="checked: valid"> `valid`</label>

這我不清楚你爲什麼會想(根據您的問題)時valid() === true禁用指針的事件,但嘿:這就是你了!

請注意,我已將valid() === true減少到valid,這相當於。

順便說一句,如果你想跳過創建一個單獨的班級,做的內嵌樣式淘汰賽類比,用the style binding

ko.applyBindings({ valid: ko.observable(true) }); 
 

 
// For demo purposes: 
 
document.querySelector("button").addEventListener("click", function() { 
 
    alert("clicked!"); 
 
});
.btn-primary { text-transform: uppercase; } 
 
.no-ptr-evts { pointer-events: none; color: red; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script> 
 

 
<button data-bind="enable: valid, 
 
        css: { 'btn-primary': valid }, 
 
        style: { 'pointer-events': valid() ? 'none' : 'auto' }"> 
 
    (try to) click me 
 
</button> 
 
<hr> 
 
<label><input type="checkbox" data-bind="checked: valid"> `valid`</label>

+0

非常感謝您的幫助,不僅僅是因爲您幫助我編寫代碼指南。我試圖這樣做,因爲這是禁用按鈕的條件,但當懸停在禁用按鈕中處於活動狀態時,用戶會感到困惑。 – UserEsp