Knockout.js 如何将特定的鼠标按钮单击绑定到敲除?

Knockout.js 如何将特定的鼠标按钮单击绑定到敲除?,knockout.js,Knockout.js,很抱歉提出新手问题,但我在文档中的任何地方都看不到: 你点击了好几次 点击我 var viewModel={ 点击次数:ko.可观察(0), 递增ClickCounter:函数(){ var previousCount=this.numberOfClicks(); 此.numberOfClicks(previousCount+1); } }; 如果我希望根据单击鼠标左键、右键或中键来执行不同的操作,该怎么办?是否有一个特定的绑定,或者您是否连接到事件并使用event.which或其他什么?

很抱歉提出新手问题,但我在文档中的任何地方都看不到:


你点击了好几次
点击我
var viewModel={
点击次数:ko.可观察(0),
递增ClickCounter:函数(){
var previousCount=this.numberOfClicks();
此.numberOfClicks(previousCount+1);
}
};
如果我希望根据单击鼠标左键、右键或中键来执行不同的操作,该怎么办?是否有一个特定的绑定,或者您是否连接到事件并使用event.which或其他什么?

我在这里做了一个选择,右边的按钮是bind,您可以通过
data bind=“event:{contextmenu:incrementClickCounter}”
中间的老鼠我还没弄明白。希望这个答案对你有所帮助。让我知道你的想法;)

HTML:

<div>
    You've clicked <span data-bind="text: numberOfClicks"></span> times
    <button data-bind="click: incrementClickCounter">Click me</button>
    <button data-bind="event: { contextmenu: incrementClickCounter }">Click me</button>
</div>

感谢Leroy,我使用if(event.which==2){//middle}在函数中使用鼠标中键,不确定这是否是正确的方法,尽管它是否有效,为什么不;)您还可以查看[link]并创建自己的绑定!
<div>
    You've clicked <span data-bind="text: numberOfClicks"></span> times
    <button data-bind="click: incrementClickCounter">Click me</button>
    <button data-bind="event: { contextmenu: incrementClickCounter }">Click me</button>
</div>
var viewModel = {
        numberOfClicks : ko.observable(0),
        incrementClickCounter : function() {
            var previousCount = this.numberOfClicks();
            this.numberOfClicks(previousCount + 1);
        }
    };
ko.applyBindings(viewModel);