Это проблема пузырей событий.
Я не знаю, какие у вас целевые браузеры, но проблема в том, что в некоторых случаях события сначала записываются из внешнего блока, в других -сначала внутренний divСтандарт заключается в том, что события идут вниз, а затем вверх.
Вам нужно, чтобы ваш div захватывал на фазе пузырьков (вверх), чтобы сделать это, используйте yourdiv.addEventListener('keydown',doSomething,false)
(измените тип события на ваш,может быть нажатие клавиши или что-то еще).
Здесь является полезной ссылкой, чтобы объяснить это лучше, чем я.