我尝试使用 RactiveJS 单击复选框,如下所示:
HTML:
<input type='checkbox' on-change-input-click="toggle">
JS:
toggle : function(){
treatment()
}
toggle
函数永远不会被调用。
为什么我要捕获切换事件?因为一旦切换复选框,其他组件就必须更改。更准确地说,这是树中的复选框。切换树节点中的复选框会切换后代节点。
也许除了change
、input
或click
之外还有其他事件我错过了...
完整代码在 this fiddle .
最佳答案
您的 fiddle 使用的是版本0.3.7
,在该版本中仅支持代理事件,并且没有可以订阅的初始化事件,并且ractive本身没有数组方法。所以你需要做类似的事情:
ractive.on('toggle', function(){
this.get("clicked").push("clicked!");
});
最新版本是0.6.1
,但您的代码仍然存在问题。如果您想在事件实例上调用方法,则需要在处理程序中调用它:
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()
});
}
关于javascript - 捕获复选框上的单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28607502/