Safari中没有keyup事件

时间:2013-08-14 20:53:20

标签: javascript macos javascript-events safari osx-leopard

我似乎无法在Mac OS X 10.5.8上的Safari 5.0.6中触发'keyup'事件

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

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

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

在Firefox中运行良好。我也试过alert而不是console.log而没有运气。

1 个答案:

答案 0 :(得分:1)

如果您要支持多个浏览器,请考虑跨浏览器事件处理。

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

取自http://ejohn.org/projects/flexible-javascript-events/