【問(wèn)題:】 現(xiàn)在可以待排班人員和每個(gè)星期值班人員可以相互拖放。但是 如果將<span>拖到 某一個(gè)<span>上面后 這個(gè)被拖動(dòng)的就插入到里面了。怎么設(shè)置可以避免發(fā)生!================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貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超0個(gè)贊
ev.target.appendChild之前判斷ev.target的nodeName,如果是span的話就添加在span的parentNode的div上,注意取nodeName的時(shí)候注意大小寫(xiě)兼容性問(wèn)題,統(tǒng)一轉(zhuǎn)大寫(xiě)判斷或者統(tǒng)一轉(zhuǎn)小寫(xiě)判斷;
添加回答
舉報(bào)
0/150
提交
取消