IE не поддерживает целевое свойство, вместо этого он использует srcElement.
Изменение:
if (e.target.id != 'show_calender')
до:
if ((e.target || e.srcElement).id != 'show_calender')
Возможно, вам также понадобится добавить это в начало вашей функции:
if (!e) e = window.event
Ваш окончательный код будет выглядеть так:
function check(e) {
if (!e) e = window.event;
var obj = document.getElementById('calendar_widget');
if (obj != 'null') {
if ((e.target || e.srcElement).id != 'show_calender')
obj.style.display='none';
}
}