javascript - 如何在 Knockout 中绑定(bind) Html 5 视频控件属性

标签 javascript html knockout.js

我需要在 Knockout 中有条件地发出 html 5 控件属性。我的意思是有时我会发出控件,有时不会。 attr 绑定(bind)不起作用?有什么东西可以让它发挥作用吗?

最佳答案

是的,你可以使用attr绑定(bind)来做到这一点,你只需要从你的可观察对象中返回nullundefined,那么KO就不会发出给定的属性:

<video id="movie" width="320" height="240" 
       data-bind="attr: {controls: enableControls}">
   <source src="http://www.w3schools.com/html/movie.mp4" type="video/mp4" />
</video>
<button data-bind="{click: click}" >Add/Remove Controls </button>

在你的 viewModel 上:

var ViewModel = function()
{
  var self = this;
  self.enableControls = ko.observable(true);
  self.click = function()
  {
    if (self.enableControls())
      self.enableControls(null);
    else
      self.enableControls(true);
  }

}

ko.applyBindings(new ViewModel());

演示 JSFiddle .

关于javascript - 如何在 Knockout 中绑定(bind) Html 5 视频控件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231314/

相关文章:

html - 是否有可能使用 Knockout 的值绑定(bind)进行脚本注入(inject)?

jquery - knockout 中的复选框绑定(bind)不适用于触发事件

javascript - ko.mapping.toJSON() 方法的 knockout 映射选项

javascript - 如何从 JavaScript 到 HTML 显示多行文本

javascript - ASP.NET MVC Razor <text> 标签不接受小于或等于运算符

javascript - 在不重新加载页面的情况下将点击链接的 ID 传递给 PHP 代码

jquery - 加载时将 div 保持在屏幕底部,但在向下滚动时保持在原始位置

html - 如何在元素之前添加 Font Awesome 图标

javascript - 通过淡入淡出切换两个图像

javascript - While 循环忽略初始条件并且浏览器崩溃