2014-05-17 108 views
3

我试图从窗体中单击提交按钮时调用一个函数。Knockoutjs订阅按钮点击?

<div id="myBrowser" data-bind="with: QuestionFilter"> 
<form name="Homeworks" data-bind="submit: searchMeNow"> 
<button data-bind="click: $root.submit, clickBubble: false">Search</button> 

searchMeNowQuestionFilter函数的内部的功能。我可以用click:binding来调用它吗?如果没有,我可以以某种方式订阅按钮,如可观察的?约

回答

2

这个怎么样:

HTML:

<div id="myBrowser" data-bind="with: QuestionFilter"> 
<form name="Homeworks" data-bind="submit: searchMeNow"> 
<button data-bind="click: $root.submit, clickBubble: false">Search</button> 

的JavaScript:

var ViewModel = function(){ 

    function QuestionFilter(){ 
     var self = this; 
     self.searchMeNow = function(){ 
     }; 
    } 

    return{ 
     submit: function(){ 
      alert("Hello world"); 
     }, 
     QuestionFilter:function(){ 
      return new QuestionFilter(); 
     } 
    }; 
}; 
ko.applyBindings(new ViewModel()); 

这里是全version

+1

我不明白设置功能为母体的性质功能。谢啦! – Jimbob