Вы не закрыли должным образом ящики div. Ваш браузер выполняет эту работу за вас и интерпретирует ваш код следующим образом:
<div class='test'>
<span>Drag a box</span>
<div id='MyBox'>
<div id='Box'></div>
</div>
</div>
Обратите внимание, что Box
находится внутри MyBox
. Проще говоря, Box
является частью MyBox
: если вы нажимаете Box
, вы также нажимаете MyBox
.
Проблема, однако, может быть легко решена: теги div
должны закройте </div>
, потому что список самозакрывающихся тегов ограничен :
<div class='test'>
<span>Drag a box</span>
<div id='MyBox'></div>
<div id='Box'></div>
</div>
Есть способы предотвратить распространение события на родительские элементы, но в вашем случае вы имеете проблема, представленная выше в вашем HTML коде.