敲除单击绑定不会在单击时触发

时间:2018-11-29 23:09:05

标签: javascript click knockout-3.0

只需设置基本的knokcout视图模型和相应的html视图,但是click功能不会触发。

Headers

并且我的视图模型设置为;

<script>
    new myModel.XYZ();
</script>

<div id="bar-1">
    <button
            title="Get Document"
            data-toggle="tooltip"
            data-bind="click: getDocument">
        <span class="fas fa-file-alt"></span>
    </button>
</div> 

没有控制台错误或其他任何可以帮助我发现问题的信息。

2 个答案:

答案 0 :(得分:0)

首先,定义模型

var myModel = function(par) {
   var self = this;
   self.getDocument = function(submission) {
      alert('');
   }
}

然后设置您的绑定

ko.applyBindings(new myModel(document.getElementById("#bar-1")));

JSFiddle

答案 1 :(得分:0)

我大体上同意@erpfast,但是如果您仍然想实现自己的方式,则忘记声明myModel并在Object上添加方法。

var myModel ={};
myModel.XYZ = function (par) {
    var self = this;

    self.getDocument = function(submission) {
       alert('');
       }
    ko.applyBindings(self, $("#bar-1")[0]);
};

new myModel.XYZ();
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="bar-1">
    <button
            title="Get Document"
            data-toggle="tooltip"
            data-bind="click: getDocument">
            Button
        <span class="fas fa-file-alt"></span>
    </button>
</div>