跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

设置 div 可拖动后,div 内部的 input 无法输入,该如何解决?

js 设置 div 可拖动后,div 内部的 input 无法输入的解决方法 当设置 div 元素具有拖动功能时,可能会遇到 div 内部的 input 无法输入的问题。这是因为拖动事件会捕获鼠标点击,导致 input 无法获取焦点。 要解决这个问题,需要根据鼠标点击的标签名判断是否进行拖动: 在 div 的父元素上添加 onmousedown 事件监听器。 在事件处理函数中,检查鼠标点击的标签。 如果被点击的标签名是 input,则阻止拖动。
document.getElementById("log_window").onmousedown = function (e) { var obj = document.elementFromPoint(event.clientX, event.clientY); if (obj.tagName.toLowerCase() === 'input') { return false; } getObject(this, e || event); };
此方法可以确保在点击 input 时不会触发拖动事件,从而允许用户正常输入。

相关文章