在js按钮上有条件地激活点击事件

时间:2017-09-20 15:15:19

标签: javascript jquery knockout.js

只有满足bool条件时才需要按钮上的函数。目前我已实现类似于

<button class="btn btn--primary pull-right" type="submit" data-bind="click: myBoolFlag ? $root.myFunction : function(){}"/>

我在多个页面上使用此按钮作为我的通用提交按钮,但在其中两个页面上,它只需要在其正常提交功能的点击顶部添加一个小功能。

我觉得通过一个匿名的空函数来做这件事并不是最好的选择,我正在寻找更清洁的选择。

2 个答案:

答案 0 :(得分:1)

在这种情况下,我通常会这样做......

<强> HTML

<!-- I gave it an ID to make it unique -->
<button id="myButton" class="btn btn--primary pull-right" type="submit"/>

<强>的JavaScript / jQuery的

//this handles the click function now
$('#myButton').click(function() {
  if(condiion1){
   do this;
  } else {
    do that;
  } 
});

答案 1 :(得分:0)

如果您不想在单击

上执行某个功能,请尝试返回true
<button class="btn btn--primary pull-right" type="submit" data-bind="click: myBoolFlag ? $root.myFunction : return true;"/>

其他选项为null

data-bind="click: myBoolFlag ? $root.myFunction : null"