为了账号安全,请及时绑定邮箱和手机立即绑定

js设置div可以拖动之后 div里面的input无法输入

js设置div可以拖动之后 div里面的input无法输入

MYYA 2019-04-10 17:15:46
本问题的解决方法:根据鼠标点击的标签名判断是否可以拖动。谢谢各位!另外还找到一种不太好的方法,就是给input加上一个默认的焦点,即使用$(input).focus(),有用但,不够灵活。 document.getElementById("log_window").onmousedown = function (e) {             var obj = document.elementFromPoint(event.clientX, event.clientY);             if (obj.tagName.toLowerCase() === 'input' || obj.tagName.toLowerCase() === 'textarea') {                 return false;             }             getObject(this, e || event);         };大概代码如下: <style type="text/css"> #div_add {     HEIGHT: 796px;  WIDTH: 1420px;   background-color:#000;     position:absolute;     top:0;     left:0;     z-index:2;     opacity:0.1;         filter: alpha(opacity=10);     display:none; } #log_window {     BORDER-LEFT-WIDTH: 1px;  CURSOR: default;  FONT-SIZE: 9pt;  HEIGHT: 200px;  BORDER-RIGHT-WIDTH: 1px;  WIDTH: 550px;  BORDER-BOTTOM-WIDTH: 1px;  POSITION: absolute;  LEFT: 435px;  Z-INDEX: 10002;  TOP: 123px;  BORDER-TOP-WIDTH: 1px; display:none; background-color:#ffffff;   }</style> <div id="div_add"></div>  <div id="log_window" style="width:550px;height:200px;top:123px;left:435px;"></div> <script> function shield(){ var html=''; html+='<input id="ipt_qty"  value="" type= "text" />'; $('#log_window').html(html); } //下面是设置div可以拖动,现在不可以输入,屏蔽之后input可以输入 var o,X, Y;          function getObject(obj, e) {             o = obj;             document.all ? o.setCapture() : window.captureEvents(Event.MOUSEMOVE);             X = e.clientX - parseInt(o.style.left);             Y = e.clientY - parseInt(o.style.top);          } 这个代码需要在IE下运行。这只是我的部分代码,还有很多代码感觉贴出来没有用。大概都是这样的。在网上找到一个方法, 就是设置拖拽以后给input加一个焦点,这样是可以输入的,但是鼠标无论放在哪个位置拖动整个div都跟着拖动, 还有按钮button的点击样式和经过样式都没有了,怎么写才可以像平时打开的网页一样只可以拖动标题那一栏啊。还有input框用js写的onblur验证都没有触发。
查看完整描述

7 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

这代码看的我眼花。不敢看啊~


查看完整回答
反对 回复 2019-05-13
?
开满天机

TA贡献1786条经验 获得超13个赞

你可以先试试不动态添加input标签的情况,直接将input写在div中进行拖动。


查看完整回答
反对 回复 2019-05-13
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

应该是 每次点击的时候 input 都重新构建了一次,所以你看着是无法输入的样子 其实是一直在刷新input输入框。


查看完整回答
反对 回复 2019-05-13
?
青春有我

TA贡献1784条经验 获得超8个赞

大概是鼠点上去一直在执行方法吧


查看完整回答
反对 回复 2019-05-13
  • 7 回答
  • 0 关注
  • 1654 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信