鼠标拖拽div中的内容

鼠标拖拽div中的内容,第1张

看看是不是你想要的,经测试:在chrome31,firefox25和IE8中能够正常使用,其他浏览器没有测试。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">

如下参考:

1页面复制有一个id为c2的div,下面有一个子div,下面有一个按钮,事件是用来点击100个adddiv。

2在event函数中,定义一个内容为degreediv字符的字符串变量。

3然后使用jquery的append将已知的div字符串添加到c2div,如下所示。

4运行页面,现在只看到一个div,如下图所示。

5单击下面的按钮来触发添加div的逻辑,如下所示。

<div id="tst" onmouseup="doit()">this is test</div>

<script>

function doit(){

var _tst = documentgetElementById("tst");

var _str = '<b>'+_tstinnerText+'</b>';

_tstinnerHTML = _str;

}

</script>

解决的办法是当触发onmouseout事件时,先判断鼠标是否在div内,如果在,说明鼠标并没有离开div,就不删除div,否则,删除之。OK,现在问题解决了。就是找到该div左上角和右下角坐标,判断鼠标的坐标是否在这一区域就可以了。divonmouseout=function(event){ var div = documentgetElementById("test"); var x=eventclientX; var y=eventclientY; var divx1 = divoffsetLeft; var divy1 = divoffsetTop; var divx2 = divoffsetLeft + divoffsetWidth; var divy2 = divoffsetTop + divoffsetHeight; if( x < divx1 || x > divx2 || y < divy1 || y > divy2){ //如果离开,则执行。。 } 后面为一些常用属性方便查找:clientHeight 获取对象的高度,不计算任何边距、边框、滚动条,但包括该对象的补白。clientLeft 获取 offsetLeft 属性和客户区域的实际左边之间的距离。clientTop 获取 offsetTop 属性和客户区域的实际顶端之间的距离。clientWidth 获取对象的宽度,不计算任何边距、边框、滚动条,但包括该对象的补白。offsetHeight 获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度。offsetLeft 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。offsetParent 获取定义对象 offsetTop 和 offsetLeft 属性的容器对象的引用。offsetTop 获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置。offsetWidth 获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度。offsetX 设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。offsetY 设置或获取鼠标指针位置相对于触发事件的对象的 y 坐标。screenX, screenY是相对于用户显示器的位置网页可见区域宽: documentbodyclientWidth网页可见区域高: documentbodyclientHeight网页可见区域宽: documentbodyoffsetWidth (包括边线的宽)网页可见区域高: documentbodyoffsetHeight (包括边线的宽)网页正文全文宽: documentbodyscrollWidth网页正文全文高: documentbodyscrollHeight网页被卷去的高: documentbodyscrollTop网页被卷去的左: documentbodyscrollLeft网页正文部分上: windowscreenTop网页正文部分左: windowscreenLeft屏幕分辨率的高: windowscreenheight屏幕分辨率的宽: windowscreenwidth屏幕可用工作区高度: windowscreenavailHeight屏幕可用工作区宽度:windowscreenavailWidth

<div id="one" class="testDiv"></div>

<div id="two" class="testDiv"></div>

<div id="three" class="testDiv"></div>

<div id="four" class="testDiv"></div>documentbodyonmouseover = function(event){

    event = event || windowevent;

    var target = eventtarget || eventsrcElement;        

switch(targetid){

        case "one":

            alert(targetid)

            break;

        case "two":

            alert(targetid)

            break;

        case "three":

            alert(targetid)

            break;

        case "four":

            alert(targetid)

            break;

    }

};testDiv{

width: 200px;

height: 100px;

background: red;

} //以此类推。你可以吧6个div 放在一个大的div中,id为testDiv

 documentgetElementById('testDiv')onmouseover = function(event){

    event = event || windowevent;

    var target = eventtarget || eventsrcElement;        

    alert(targetid) //这样就不用写很多判断

};

以上就是关于鼠标拖拽div中的内容全部的内容,包括:鼠标拖拽div中的内容、如何用鼠标获得多个div层的标识 js、js如何实现:在页面中任意位置点击鼠标,则在该位置显示一个div等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9505131.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存