我試圖讓一些元素髮生在點擊使用時knockout.js和jquery。我可以改變不同元素的CSS像這樣的代碼體的背景,但沒有,如果我嘗試使用this.css(something)
或$(this).css(something)
data-bind =「click」函數不適用於「this」?
<h4>Places</h4>
<ul data-bind="foreach: city">
<li data-bind="click: function(){$(this).css('color','yellow')}"><span data-bind="text: city"></span>, <span data-bind="text: state"></span>
</li>
</ul>
function AppViewModel() {
var self = this;
self.city = ko.observableArray([
{ city: 'Richmond', state: 'VA' },
{ city: 'Dallas', state: 'TX' },
{ city: 'Los Angeles', state: 'CA' }
]);
}
ko.applyBindings(new AppViewModel());
http://codepen.io/ntibbs/pen/PPdEVJ
不可能將其用於對象更有意義陣列中有一個observable屬性,然後使用'style'綁定並讓您的點擊功能工作來設置該屬性。這將是更多的MVVM。就像現在一樣,「這不是你想象的。 –
即時通訊MVVM knockoutjs相當新。我的最終目標是點擊LI元素並放大Google地圖上的標記。用你剛纔提到的方法做到這一點是可能的嗎?如果這樣生病的話,請看一下。 –
你只是想突出顯示「選定的項目」?使用'css'綁定。 – CrimsonChris