js中设置div可拖动后,内部input无法输入怎么办?

js中设置div可拖动后,内部input无法输入怎么办?

js中设置div可拖动后,内部input无法输入的解决方法

当对div元素设置可拖动属性后,内部的input元素可能会失去输入能力。这是因为拖动操作会拦截鼠标事件,导致input无法响应鼠标点击。

要解决这个问题,可以根据鼠标点击的标签名来判断是否可以拖动。如果点击的是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时,拖动操作将不再发生,从而确保input元素保持可输入状态。

以上就是js中设置div可拖动后,内部input无法输入怎么办?的详细内容,更多请关注其它相关文章!