Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以在敲除时调用函数outside viewmodel吗?_Javascript_Knockout.js_Jsfiddle - Fatal编程技术网

Javascript 我可以在敲除时调用函数outside viewmodel吗?

Javascript 我可以在敲除时调用函数outside viewmodel吗?,javascript,knockout.js,jsfiddle,Javascript,Knockout.js,Jsfiddle,假设我想在一个数据绑定上调用我的纯javascript函数。有可能吗? 我试过:- <span data-bind = "click : outsideFn() ">hi</span> <span data-bind=" click : function() { outsideFn() } ">hi</span? hi 您好是的,可以在数据绑定中调用普通javascript函数。在你的项目中尝试一下,它正在发挥作用。JSFIDLE脚本中可能存在一些问

假设我想在一个数据绑定上调用我的纯javascript函数。有可能吗? 我试过:-

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

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

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

是的,您可以。 请注意对于
点击
绑定:

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


工作示例:

HTML

Javascript

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

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

ko.applyBindings(vm);

你在JSFIDLE之外试过这个吗?我稍微调整了一下,让它开始工作了。看起来只是脚本加载问题。我只在JSFIDLE中尝试过,你是对的,它确实有效。将我的javascript代码放在body元素的末尾,并在头部加载knockout库,这样做是成功的。谢谢。这就是导致我的脚本失败的原因。我尝试使用JSFIDLE,而不是创建实际的文件。正如@bluetoft所提到的,要在jsfiddle中工作,必须在主体中加载knockout。谢谢你的帮助。