在淘汰赛中更改 css 类.js单击鼠标
Changing css class in knockout.js on mouse click
挖空.js文档显示了像这样的 css 绑定:
<div data-bind="css: { profitWarning: currentProfit() < 0 }">
Profit Information
</div>
我需要调整它以在鼠标单击时更改 css 类。我该怎么做?
根据下面的答案,我正在使用这样的代码:
// CSS class to be applied
<style>
.bigclass
{
width: 200px;
}
</style>
// Select list inside a jquery .tmpl
<script id='criteriaRowTemplate' type='text/html'>
<tr>
<td>
<select data-bind='click: makeBig, css: {bigclass : SelectHasFocus() > 0}' />
</td>
</tr>
</script>
// Knockout.js Viewmodel
var CriteriaLine = function() {
this.SearchCriterion = ko.observable();
this.SelectHasFocus = ko.observable(0);
// this method is called
makeBig = function(element) {
this.SelectHasFocus(1);
};
};
但是,这不会扩展选择列表的宽度。我做错了什么?
让你的点击函数改变一个可观察的变量。 例如:
<div data-bind="css: { myclass: newClass() == true }">
Profit Information
</div>
<button data-bind="click: changeClass">Change Class</button>
<script type="text/javascript">
var viewModel = {
newClass: ko.observable(false),
changeClass: function() {
viewModel.newClass(true);
}
};
</script>
注: 您可以在同一元素上组合click
和css
。 例如:
<div databind="click: changeClass, css: { myclass: newClass() == true }"></div>
我觉得问题出在脚本标签上。
请在以下链接中找到解决方案:http://jsfiddle.net/ZmU6g/3/
最简单的方法是使用单击绑定来更改回调中的可观察量。您将使用 attr 绑定之类的东西适当地绑定类
相关文章:
- js - 单击时交换图像
- 动态.js单击画布外的按钮时从画布中删除图像
- 使用音频.js单击按钮下载音频
- 使用 D3.js 单击圆圈时生成阴影
- 挖空 JS - 单击数组中的图像
- JS单击事件不适用于暂停CSS动画
- d3.js单击时交替颜色,单击另一个点时变回原始颜色
- 在淘汰赛中更改 css 类.js单击鼠标
- 在 vis 中访问节点数据.js单击处理程序
- 使用 Meteor.js 单击时将类添加到特定元素
- 高图表 js 单击旋转并展开弧线
- 添加新图表.js单击按钮时,但得到“无法读取空的属性'getContext'”
- 三.js 单击时获取相对于此值的对象(对象都在数组中)
- d3.js:单击时更改 x 轴间隔
- 使用 d3.js 单击时分解饼图
- 使用角度JS单击时更改目标的属性
- d3.js单击时更改数据(圆环图的多个实例)
- 挖空.js单击按钮后使用数据创建新记录
- Knockout.js单击时更改(而不是切换)css类
- Js.单击以编程方式添加的事件,但在加载代码时仅触发一次