Baz
Baz

Reputation: 13135

No keyup event in Safari

I can't seem to get a keyup event to trigger in Safari 5.0.6 on Mac Os X 10.5.8

<textarea id="edit" cols="25" rows="5"></textarea>

document.getElementById("edit").addEventListener('keyup', function () {
    console.log("hi");
});

http://jsfiddle.net/barra/8Fy72/4/

Works fine in Firefox. I've also tried alert instead of console.log with no luck.

Upvotes: 0

Views: 1456

Answers (1)

talabes
talabes

Reputation: 5474

Consider cross-browser event handling if you are going to support multiple browsers.

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}

Taken from http://ejohn.org/projects/flexible-javascript-events/

Upvotes: 1

Related Questions