2013-01-05 93 views
0

我在Titanium SDK 3.0.0.GA中使用此代码时,一旦eventListener(scrollView.addEventListener('scroll',function(){});)被调用多个时点击任何按钮(left_btn或right_btn)倍。Titanium“addEventListener”被多次调用,但我只需要它一次

我该如何解决这个问题?

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

请帮帮我! 在此先感谢。

回答

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; 
    } 
}); 
+0

谢谢,第二个最适合我.... – MRT

相关问题