jQuery объединяет все эти различия браузера.Вам просто нужно сделать:
function mapSlider(e) {
if ($('.slideme').hasClass('open')) {
$('.slideme').animate({left:0,},'slow').removeClass('open');
$('.opened').hide();
$('.closed').show();
} else {
$('.slideme').animate({left:-710,},'slow').addClass('open');
$('.opened').show();
$('.closed').hide();
}
e.stopPropagation();
e.preventDefault();
}
В вашем примере код внизу никогда не будет выполнен, как вы делаете return false;
раньше.
Теперь это зависит только от как эта функция вызывается.Если вы правильно назначите его как обработчик события, тогда объект события будет автоматически передан.
Обновление:
В вашем коде вы не передаете event
возражать против вашего обработчика.Вы должны сделать:
<div id="map-box" class="slideme" onClick="mapSlider(event)">
но я думаю, что это не работает в IE.
Так что лучше сделать это способом jQuery:
$(function() {
$('#map-box').click(mapSlider);
});
Документация jQuery довольно хорошая, я рекомендуючитая это.Особенно в этом случае о объекте Event
.
Также посмотрите этот учебник .