我有這樣的自定義綁定,更新可觀察到的與被應用到該元素的聚焦子元素的數據:雙向焦點knockout.js結合
ko.bindingHandlers.selected =
init: (element, valueAccessor) ->
receiver = valueAccessor()
$(element).focusin((event) ->
data = ko.dataFor(event.target)
receiver(data)
)
這工作比標準hasFocus
更好
<ul data-bind="foreach: items, selected: selectedItem">
<li><a href="#" data-bind="text: name"></a></li>
</ul>
<p data-bind="with: selectedItem">
Selected: <span data-bind="text: name"></span>
</p>
現在我想使這是一個雙向綁定,這樣我可以從我的腳本改變selectedItem
:對於使用情況,我想在頁面的其他部分,顯示關於關注項目的信息結合代碼,並使th e以$.focus()
爲重點的正確列表元素。任何想法如何擴展綁定工作在兩個方面?
我意識到我可能需要使用「控制後代綁定」方法,並且不能將綁定應用於與綁定相同的元素,但這很好。我遇到的問題是,當調用更新函數時,子元素似乎沒有被綁定(dataFor
返回未定義)。
你可以發表你的意見嗎?你可以發表你想要達到的目標嗎? –
試試這個:http://jsfiddle.net/ptWxF/2/它在普通的瀏覽器中不能很好地工作,但是這是一個帶有空間導航的平臺,其中重點非常重要。 – Ropez
另一個更新,一些樣式http://jsfiddle.net/ptWxF/3/ – Ropez