在CanJS控制器中,我在另一个点击处理程序中使用click事件。如何从子处理程序
将一些数据传递给父处理程序someController=can.Control({
init:function(element,options){
// some code
},
'.someButtonSelector click':function(el,ev)
{
console.log(this.options.someData) //Returns array of objects
ev.preventDefault();
$('#someFormButton').click(function()
{
var formData=can.deparam($('someFormSelector').serialize());
//Want to add formObject in this.options.someData array
})
},
})
我想将formData放入this.options。此处this
代表someController
的对象,因此我无法在someFormButton
点击事件中直接使用它。
还想知道我是否遵循正确的方法?方案是单击someButtonSelector
出现的表单。我想将formData放入当前选项对象
答案 0 :(得分:1)
在另一个处理程序中添加一个单击处理程序,您真正想要做什么?您的代码意味着,只要有人点击#someFormButton
,就会在{/ 1}} 时添加新的点击处理程序。如果.someButtonSelector
也在Controls元素中,我认为您要执行的操作(在点击#someFormButton
时将序列化数据添加到this.options.formData
)应该如下所示:
#someFormButton