如何使用Knockout禁用click事件?

Wee*_*Dad 6 javascript jquery knockout.js

我有两个按钮,叫做

<a href='#' data-bind='click: clickActivateSpatialSearch' id='draw_polygon'>
<a href='#' data-bind='click: clickActivateSpatialSearchBox' id='draw_box'>
Run Code Online (Sandbox Code Playgroud)

这里最好的是什么?我可以使用jQuery $(document).ready吗?问题是数据绑定单击在按下时禁用其他单击事件,同样如此.但是当我按下相同的按钮时,它会再次启用第二个按钮.

所以我想用所有的胡言乱语来说,我只想一次启用一个按钮.这可能与淘汰赛合作吗?如果是这样,请告诉我如何.PS:我已经看过关于启用的淘汰网站,但我没有得到它.我应该如何让它完全运作?

Pau*_*tti 2

您可以添加一个可观察量来保存按下的按钮,然后将单击更改为检查可观察量的函数:

<a href='#' data-bind='click: function() { 
    if(buttonClickedObservable() == 'polygon')
    {
        clickActivateSpatialSearch();
    }' id='draw_polygon'>
<a href='#' data-bind='click: function() { 
    if(buttonClickedObservable() == 'box')
    {
        clickActivateSpatialSearchBox'();
    }' id='draw_box'>
Run Code Online (Sandbox Code Playgroud)

不过,您必须决定如何设置可观察的。