Safari中没有键盘事件

问题描述 投票:0回答:1

我似乎无法在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,但没有运气。

javascript macos safari dom-events osx-leopard
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/
© www.soinside.com 2019 - 2024. All rights reserved.