Titanium“addEventListener”被多次调用,但我只需要它一次

时间:2013-01-05 08:03:04

标签: android iphone titanium

我在Titanium SDK 3.0.0.GA中使用此代码,当我多次调用eventListener(scrollView.addEventListener('scroll',function(){});)时,我点击任何按钮(left_btn或right_btn)。

如何解决此问题?

right_btn.addEventListener('singletap', function() {
       scrollView.scrollToView(scrollView.currentPage + 1);

});
left_btn.addEventListener('singletap', function() {
    scrollView.scrollToView(scrollView.currentPage - 1);
});

scrollView.addEventListener('scroll', function() {
        alert("scroll view");
});

请帮帮我! 在此先感谢。

1 个答案:

答案 0 :(得分:2)

在事件函数中执行所需操作后,可以使用removeEventListener删除事件。

function scrollEvent() {
    alert('scroll view');
    scrollView.removeEventListener('scroll', this);
}

scrollView.addEventListener('scroll', scrollEvent);

或声明一个临时布尔变量以确定事件是否已被触发。

var fired = false;
scrollView.addEventListener('scroll', function() {
    if (!fired) {
        alert('scroll view');
        fired = true;
    }
});