2

假设我想在我的一个数据绑定上调用我的普通 javascript 函数。有可能这样做吗?我试过了:-

<span data-bind = "click : outsideFn() ">hi</span>

<span data-bind=" click : function() { outsideFn() } ">hi</span?

显然,我的尝试没有成功。

http://jsfiddle.net/RcxVj/

编辑:- 在标签上添加 jsfiddle,因为这似乎是 jsfiddle 的问题。

4

2 回答 2

9

是的,可以在数据绑定中调用普通的 javascript 函数。在您的项目中尝试它,它正在工作。jsfiddle 脚本中可能存在一些问题。

于 2013-09-28T10:52:30.757 回答
2

的,你可以。请注意绑定的官方 Knockout 文档:click

您可以引用任何 JavaScript 函数 - 它不必是视图模型上的函数。您可以通过编写 click: someObject.someFunction 来引用任何对象上的函数。


工作示例:

https://jsbin.com/ciwofayegi/1/edit?html,css,js,输出

HTML

<span data-bind="text: txt, click: outsideFn"></span>

Javascript

var outsideFn = function () {
    alert("outside function"); 
};

var vm = {
    "txt": ko.observable("some text")
};

ko.applyBindings(vm);
于 2013-09-28T22:04:45.997 回答