Alv*_*aro 1 javascript knockout.js knockout-3.2
我正在使用bind我的视图中的参数调用该函数:
<span data-bind="click: modifyByOne.bind($data, 'plus')"></span>
Run Code Online (Sandbox Code Playgroud)
根据这个答案我event通过这样做获得对象:
self.modifyByOne = function(type){
var span = $(event.currentTarget);
};
Run Code Online (Sandbox Code Playgroud)
在Chrome中一切正常,但在Firefox中我收到以下控制台错误:
事件未定义
我怎样才能让它在Firefox中运行?淘汰文档没有提供太多答案.
knockout click绑定将两个参数传递给listener方法:当前绑定context($data)和事件.
通过使用bind,您可以像指定的那样指定要传递给方法的其他参数.这些参数在两个默认参数之前传递.因此,您的方法应接受类型,数据和事件参数.
self.modifyByOne = function(type, data, event){
var span = $(event.target);
};
Run Code Online (Sandbox Code Playgroud)
虽然这应该有用,但从代码中使用DOM来处理这些东西被认为是不好的做法.请尝试创建自定义绑定.
| 归档时间: |
|
| 查看次数: |
1409 次 |
| 最近记录: |