在复选框上捕获单击事件

时间:2015-02-19 13:20:56

标签: javascript html checkbox ractivejs

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

HTML:

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

JS:

toggle : function(){
    treatment()
}

永远不会调用toggle函数。

为什么我要抓住切换事件?因为一旦复选框切换,必须更改其他组件。更确切地说,这是树中的复选框。切换树节点中的复选框可切换后代节点。

可能还有其他事件,而不是changeinputclick我错过了......

完整的代码位于this fiddle

2 个答案:

答案 0 :(得分:3)

您的小提琴使用版本0.3.7,在该版本中仅支持代理事件,并且没有订阅的init事件,并且ractive本身没有数组方法。所以你需要做类似的事情:

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

最新版本为0.6.1,但您的代码仍然存在问题。如果要在ractive实例上调用方法,则需要在处理程序中调用它:

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()
    });
}

答案 1 :(得分:0)

试试这个: 我为你做了一个JS小提琴

HTML:

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

JS:

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

https://jsfiddle.net/4kxrkubc/