在复选框上捕获点击事件

Catch on-click event on checkboxes

我尝试使用 RactiveJS 来点击复选框,如下所示:

HTML:

<input type='checkbox' on-change-input-click="toggle">

JS:

toggle : function(){
    treatment()
}

toggle 函数从未被调用。

我为什么要捕捉切换事件?因为一旦切换了复选框,其他组件就必须更改。更准确地说,这是树中的一个复选框。切换树节点中的复选框会切换后代节点。

也许除了 changeinputclick 我错过了其他事件...

完整代码在this fiddle.

试试这个: 我给你做了一个JSFiddle

HTML:

<input id="myID" type='checkbox' onchange="yourFunction()" />

JS:

function yourFunction() {
alert("changed");
}

https://jsfiddle.net/4kxrkubc/

您的 fiddle 使用的是 0.3.7 版本,该版本仅支持代理事件,没有可订阅的初始化事件,ractive 本身也没有数组方法。所以你需要做类似的事情:

ractive.on('toggle', function(){
    this.get("clicked").push("clicked!");
});

最新版本是 0.6.1,但您的代码仍有问题。如果要调用ractive实例的方法,需要在handler中调用:

HTML:

<input type='checkbox' on-change="toggle()">

JS:

toggle: function(){
    treatment()
}

如果你想发起一个事件,你需要订阅那个代理名称:

HTML:

<input type='checkbox' on-change="toggle">

JS:

oninit: function(){
    this.on('toggle', function(){
        treatment()
    });
}