【问题标题】:How to change click event of button如何更改按钮的点击事件
【发布时间】:2014-07-07 03:25:07
【问题描述】:

我正在尝试更改按钮的单击事件。可能与否。我想检查按钮文本,它的文本是“保存”,然后保存事件调用,否则如果文本是“更新”,则更新事件调用。

这里JSFIDDLE

查看

 <input type="button" data-bind="click: $root.save ,value: Save" />

视图模型

function AppViewModel() {
    var self = this;
    self.Save = ko.observable("Save");

    self.save = function () {
        self.Save("Update");  
    }

    self.update = function () {
        alert('click');
        //change button text here       
    }
}

ko.applyBindings(new AppViewModel());

【问题讨论】:

    标签: knockout.js logical-operators knockout-mvc


    【解决方案1】:

    您可以尝试对这两个操作使用单个函数:

    <input type="button" data-bind="click: $root.doAction ,value: Save" />
    
    self.doAction = function () {
      if (self.Save() == "Update") {
        self.Save("Save");
      } else if (self.Save() == "Save") {
        self.Save("Update");
      }
    }
    

    http://jsfiddle.net/norbiu/d4kkg/9/

    【讨论】:

      【解决方案2】:

      您可以执行以下操作:

      data-bind="click: function(data, event) { $root.save(event.target.value) }"
      

      然后检查save 函数中的参数是否等于“保存”或“更新”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-08
        • 2011-03-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多