0
我一直在學習Mootools,但我在解決自定義事件時遇到問題。我確信它一定是簡單的,但我無法看到它在我的生活中。爲什麼自定義事件不適合我? (Mootools)
我寫了一個簡單的類來使用Fx.Tween來推動一些列表項。它完美的工作,除了自定義事件沒有被觸發,無論我嘗試什麼。
<script type="text/javascript">
var Pusher = new Class({
Implements: [Events,Options],
options: {
elements: []
},
initialize: function(options){
this.setOptions(options);
this.attachListeners(this.options.elements);
},
attachListeners: function(elements){
$$(elements).each(function(el){
$(el).addEvent('mouseover', this.pushIn.bind(el))
.addEvent('mouseout', this.pushOut.bind(el));
}, this);
},
pushIn: function(){
this.fireEvent('in');
this.set('tween', {duration: 'short'});
this.tween('paddingLeft', '50px');
},
pushOut: function(){
this.fireEvent('out');
this.set('tween', {duration: 'short'});
this.tween('paddingLeft', '0px');
}
});
window.addEvent('domready', function(){
var p = new Pusher({
elements: $$('li')
});
p.addEvent('in', function(){ alert('in'); });
p.addEvent('out', function(){ alert('out'); });
});
</script>
而在HTML:
<ul id="mylist">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
我也試過如下:
window.addEvent('domready', function(){
var p = new Pusher({
elements: $$('li'),
onIn: function(){ alert('in'); },
onOut: function(){ alert('out'); }
});
});
我在做什麼錯?
太棒了,多好的答案。謝謝! – 2010-04-25 18:15:47
很高興它爲你工作。乾杯! – Anurag 2010-04-25 22:09:53