0

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

<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没有运气。

4

1 回答 1

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/

于 2013-08-14T21:06:01.453 回答