【問題:】 現在可以待排班人員和每個星期值班人員可以相互拖放。但是 如果將<span>拖到 某一個<span>上面后 這個被拖動的就插入到里面了。怎么設置可以避免發生!================js部分 ==========================?<!-- 拖拽 star-->??<script type="text/javascript">? ? function allowDrop(ev)? ? ? {? ? ? ? ev.preventDefault();? ? ? }? ? function drag(ev)? ? ? {? ? ? ? ev.dataTransfer.setData("Text",ev.target.id);? ? ? }? ? function drop(ev)? ? ? {? ? ? ? ev.preventDefault();? ? ? ? var data=ev.dataTransfer.getData("Text");? ? ? ? ev.target.appendChild(document.getElementById(data));? ? ? }? ? ???</script>?<!-- 拖拽 end-->?================html 部分 (大致意思)==============================待排班人員====? ??? <div class="duty-box" id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">? ? ? ? ? ? <span ?id="drag1" ?draggable="true" ondragstart="drag(event)">張1</span>? </div>====星期一====? <div class="duty-box" ?id="div2" ondrop="drop(event)" ondragover="allowDrop(event)">? ? ??? ?<span ?id="drag2" ?draggable="true" ondragstart="drag(event)">張2</span>? ?</div> ====星期二====? <div class="duty-box" ?id="div3" ondrop="drop(event)" ondragover="allowDrop(event)">? ? ??? ?<span ?id="drag3" ?draggable="true" ondragstart="drag(event)">張3</span>? ?</div>
1 回答

Dolor
TA貢獻3條經驗 獲得超0個贊
ev.target.appendChild之前判斷ev.target的nodeName,如果是span的話就添加在span的parentNode的div上,注意取nodeName的時候注意大小寫兼容性問題,統一轉大寫判斷或者統一轉小寫判斷;
- 1 回答
- 0 關注
- 1806 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消