Skip to content

Commit

Permalink
Merge branch 'fix-keys-ie'
Browse files Browse the repository at this point in the history
  • Loading branch information
timwienk committed Sep 30, 2010
2 parents 518a739 + 1a3f21c commit a5bc7c1
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 16 deletions.
8 changes: 5 additions & 3 deletions Source/Element/Element.Event.Pseudos.Keys.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ provides: [Element.Event.Pseudos.Keys]
var keysStoreKey = '$moo:keys-pressed',
keysKeyupStoreKey = '$moo:keys-keyup';


Event.definePseudo('keys', function(split, fn, args){

var event = args[0],
Expand All @@ -43,8 +44,10 @@ Event.definePseudo('keys', function(split, fn, args){

if (!this.retrieve(keysKeyupStoreKey)){
var keyup = function(event){
pressed = this.retrieve(keysStoreKey, []).erase(event.key);
this.store(keysStoreKey, pressed);
(function(){
pressed = this.retrieve(keysStoreKey, []).erase(event.key);
this.store(keysStoreKey, pressed);
}).delay(0, this); // Fix for IE
};
this.store(keysKeyupStoreKey, keyup).addEvent('keyup', keyup);
}
Expand Down Expand Up @@ -77,4 +80,3 @@ Object.append(Event.Keys, {
});

})();

2 changes: 1 addition & 1 deletion Source/Element/Element.Event.Pseudos.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,6 @@ Event.definePseudo = function(key, fn, proxy){
};

var proto = Element.prototype;
Element.implement(Events.Pseudos(pseudos, proto.addEvent, proto.removeEvent));
[Element, Window, Document].invoke('implement', Events.Pseudos(pseudos, proto.addEvent, proto.removeEvent));

})();
5 changes: 3 additions & 2 deletions Specs/1.3/Element/Element.Event.Pseudos.Keys.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

describe('Element.Pseudos.Keys', function(){
describe('Element.Event.Pseudos.Keys', function(){

it('keys: should fire events for keyboard key cobinations', function(){
it('keys: should fire events for keyboard key combinations', function(){

var callback = jasmine.createSpy(), called = false,
callback2 = jasmine.createSpy(), called2 = false;
Expand All @@ -20,6 +20,7 @@ describe('Element.Pseudos.Keys', function(){
expect(callback2).toHaveBeenCalled();
document.body.eliminate('$moo:keys-pressed');
});

});

});
6 changes: 2 additions & 4 deletions Specs/1.3/Element/Element.Event.Pseudos.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ License:
MIT-style license.
*/

describe('Element.Pseudos', function(){
describe('Element.Event.Pseudos', function(){

it('tests the Event.definePseudo function', function(){

Expand Down Expand Up @@ -39,7 +39,7 @@ describe('Element.Pseudos', function(){
var i = 0;

var database = new Class({
Implements: Events,
Implements: Events,

connect: function(){
return this.fireEvent('connect');
Expand All @@ -58,7 +58,5 @@ describe('Element.Pseudos', function(){

});



});

10 changes: 4 additions & 6 deletions Tests/Element/Element.Event.Pseudos.Keys.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,18 @@
<script>

var result = $('result');
document.body.addEvent('keydown:keys(shift+a)', function(){

document.addEvent('keydown:keys(shift+a)', function(){
result.set('html', result.get('html') + 'succes keydown:keys(shift+a)!<br>');
});


var result2 = $('result2');
document.body.addEvent('keyup:keys(shift+b)', function(){
document.addEvent('keyup:keys(shift+b)', function(){
result2.set('html', result2.get('html') + 'succes keyup:keys(shift+b)!<br>');
});

document.body.addEvent('keydown:keys(shift+++a)', function(e){
document.addEvent('keydown:keys(shift+++a)', function(e){
result.set('html', result.get('html') + 'succes keydown:keys(shift+++a)!<br>');
});


</script>

0 comments on commit a5bc7c1

Please sign in to comment.