Object #<Controller> 没有方法 addEventListener
Posted
技术标签:
【中文标题】Object #<Controller> 没有方法 addEventListener【英文标题】:Object #<Controller> has no method addEventListener 【发布时间】:2014-08-09 03:19:28 【问题描述】:我正在尝试创建一个控制器来为 android 制作一个开关按钮,因为 Titanium 中的那个没有我需要的 android 的全息外观,这个控制器工作正常,但在另一个控制器中有一个 addEventListener
使用我的 Switch 控制器给我一个Object #<Controller> has no method addEventListener
错误。有人告诉我,我必须在我的开关控制器中定义 addEventListener 方法,但我不知道如何做到这一点。有什么想法吗?
客户.xml:
...
<View>
<Switch id="mySwitch" platform="ios"/>
<Require id="mySwitch" platform="android" src="customSwitch" />
</View>
...
customer.js:
...
$.mySwitch.addEventListener('change', function(e)
// magic goes in here
);
...
customSwitch.js:
$.value = false;
$.setValue = function(value)
$.value = value;
var switchButton = Ti.UI.createButton(
width : 97,
height : 24,
backgroundImage : '/images/ic_switch_on.png',
visible : true
);
switchButton.applyProperties($.container.switchButton);
$.container.add(switchButton);
$.container.addEventListener('click', function(evt)
$.onClick && $.onClick();
var currentValue = $.value;
if (currentValue)
switchButton.backgroundImage = '/images/ic_switch_off.png';
$.setValue(!currentValue);
else
switchButton.backgroundImage = '/images/ic_switch_on.png';
$.setValue(currentValue);
);
【问题讨论】:
如果我在下面的回答没有帮助,您需要提供更多关于您正在尝试做什么的信息。在您的代码中,没有任何信息表明$.container
背后的内容以及您的错误消息和回溯究竟是什么样的。
【参考方案1】:
您正在尝试在容器对象上设置事件侦听器。可能您想将事件侦听器添加到您创建并添加到容器中的switchButton
:
switchButton.applyProperties($.container.switchButton);
switchButton.addEventListener('click', function(evt)
$.onClick && $.onClick();
var currentValue = $.value;
if (currentValue)
switchButton.backgroundImage = '/images/ic_switch_off.png';
$.setValue(!currentValue);
else
switchButton.backgroundImage = '/images/ic_switch_on.png';
$.setValue(currentValue);
);
$.container.add(switchButton);
【讨论】:
以上是关于Object #<Controller> 没有方法 addEventListener的主要内容,如果未能解决你的问题,请参考以下文章
springMVC 如何实现jsp获取到controller中传递过来的list<object>集合
layui中table如何获取Controller中返回的ModelAndView数据?