关于ul点击事件委托给li时的鼠标拖动问题
作者:互联网
网上查看后发现Click可以被两个事件触发:mouseUp与mouseDown,即点击和松开时都会触发一次。
随后当我从一个li点击拖动到其他li松开时,触发的事件对象因为冒泡变成了父元素ul,并非我们想要的当前触发对象li。在ul点击事件时添加触发事件对象判断即可:
var majorContentDown = document.querySelector(".majorContentDown");//获取ul var major = document.querySelector("#major");//获取input function clickLi(obj, whosValue) { obj.addEventListener('click', function (e) { if (e.target === obj) { whosValue.value = "请勿拖动"; } else { whosValue.value = e.target.innerHTML; whosValue.style.color = "black"; } }, false);//允许冒泡 } clickLi(majorContentDown, major); 以上是我在搞学年设计时,利用事件冒泡将点击的li中的innerHTML给到表单input中,正常点击是没问题的,调试时发现拖动后事件触发对象不是鼠标松开所在的li,JS将ul中的内容全给了input。github使用不熟练,就将遇到的问题及解决过程记录在博客园。菜鸟成长中
标签:触发,拖动,li,ul,点击,whosValue 来源: https://www.cnblogs.com/zibai/p/16614482.html