现在已经能够实现鼠标拖拽DIV移动了,但是我的DIV上面有很多控件,例如文本框等。如果我要编辑一段文字,要选中文本框中的一部分,那么这个更能是无法实现的,因为不管你点击到DIV的哪一部分,只要鼠标拖动的话,那个DIV都跟着移动,无法选中部分文字,只能双击选中全部的文字。这样看起来很不爽,给别人用也会出问题,所以我想求一个方法:如何能够判断鼠标点击的是否为<input>、<select>等控件。跪谢!!!

解决方案 »

  1.   

    你在添加一个事件就是经过文本框的事件,让DIV停止拖动
      

  2.   

    你可以在里面放一个div通过拖动它来拖动整个层
      

  3.   

    方法1。只在div标题部份可移动方法2. 在input中当触发鼠标移动事件后返回 return false禁用事件(不知道行不行)
      

  4.   

    这个你要了解下事件流
    事件是由一定的顺序的 即从里到外依次发生 这便是事件流<script type="text/javascript">
    var check=false;
    function test(){
    if(!check){
    alert('sdfsf');
    }
    check=false;
    }
    function test1(){
    check=true;
    }
    </script><html>
    <div id="dd" style="border:#ff0000 solid 1px; width:300px; height:100px;" onclick="test()">
    <input type="text" onclick="test1()">
    </div>
    </html>虽然都有click事件 但是点击input的时候就不会弹出对话框 
      

  5.   

    谢谢fudg1211,问题解决!也谢谢大家的建议。!!