我正在使用第三方視頻播放器來顯示視頻。這些視頻應根據用戶選擇進行播放,並且我應該能夠將視頻名稱傳遞到<object... param... videoPlaer... >
我需要將其與淘汰賽綁定。
這個簡單的JavaScript的工作(不剔除):
<script type="text/javascript">
var BCLS = (function() {
return {
onMovieStartFunc: function (evt) {
videoPlayer.loadVideo("some hard coded id");
//I want to be able to change this id dynamically
}
}
}());
</script>
<object id="myObjectId">
<param name="@videoPlayer" value="videoPlayerValue"/>
<param name="templateLoadHandler" value="BCLS.onMovieStartFunc" />
</object>
這不起作用:我怎樣才能綁定淘汰賽那些屬性?
的JavaScript:
<input type="button" data-bind='click: onMovieStartFunc' value="Start Video" />
<!-- /ko -->
HTML:
<!-- ko with: $data -->
<object id="myObjectId">
<param name="@videoPlayer" value="videoPlayerValue"/>
<param name="templateLoadHandler" value="onMovieStartFunc" />
</object>
<input type="button" data-bind='click: onMovieStartFunc' value="Start Video" />
<!-- /ko -->
我創建了一個的jsfiddle,以確保我解釋正確
http://jsfiddle.net/acharyakrishna/ppZx5/2/
任何幫助將不勝感激。謝謝。
我從來沒有使用過'object'元素,但我不確定應該調整'templateLoadHandler'參數中的參數。 –
Uhhhaa! data-bind =「value:$ root.videoPlayerValue」爲我工作,現在我可以綁定這個值。非常感謝您的指導。 – Krishna
templateLoadHandler是這個第三方視頻公司正在使用的事件處理程序,用於在頁面加載時啓動電影,因此用戶不必點擊「開始視頻」,想象YouTube,您不必點擊「現在玩「,它會自動啓動廣告,然後自動播放電影。像上面的數據綁定一樣指向事件處理程序也解決了這個問題。 這就是我所做的: 而且,對象成功調用事件處理程序並調用knockout viewmodel函數。 –
Krishna