Я хочу сделать перетаскивание для перехода к элементу, и я не хочу, чтобы родительский элемент этого элемента захватил событие щелчка или перетаскивания, поэтому я использую модель пузыря, однако элемент, который я хочу перетащить содержат ребенка, который имеет тот же размер (ширина, высота, левый ...) этого элемента.событие браузера не пузырится
Например:
<div id="div_con" style="left: 20px; top: 50px; width: 181px; height: 357px; position: absolute; z-index: 10; cursor: pointer;" class="drag">
<img src="test.PNG" id="Over_Label_1912694_Img" style="left: 0px; top: 0px; width: 181px; height: 357px; position: relative;">
</div>
DIV # div_con это элемент я хочу, чтобы перетащить. Но так как div # div_con и img имеют одинаковый размер, пользователь не может нажимать div div. Так как img над ним.
Так я связываю событие MouseDown, MouseMove, MouseUp ко всему документу
document.onmousedown = OnMouseDown;
document.onmouseup = OnMouseUp;
На мой взгляд, когда пользователь нажимает IMG под DIV # div_con, событие MouseDown будет пузырь Div # div_con.
Так как я просто хочу, чтобы перетащить DIV # div_con, так что я сделать проверку в обработчик MouseDown:
if ((e.button == 1 && window.event != null || e.button == 0) && target.className == 'drag')
{ //do the start the move}
Но это не работает.
Это полный пример:
насчет маски над элементом, который служит в качестве «перетаскивания ручки» по всему элемент? –