其他分享
首页 > 其他分享> > 关于ul点击事件委托给li时的鼠标拖动问题

关于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