首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
js 拖动元素后,不可在进行拖动
2024-11-07
通过 JS 实现简单的拖拽功能并且可以在特定元素上禁止拖拽
前言 关于讲解 JS 的拖拽功能的文章数不胜数,我确实没有必要大费周章再写一篇重复的文章来吸引眼球.本文的重点是讲解如何在某些特定的元素上禁止拖拽.这是我在编写插件时遇到的问题,其实很多插件的拖拽功能并没有处理这些细节,经过翻阅 jquery ui 的源码才找到答案. 拖拽实现 关于拖拽功能不再啰嗦,直接贴代码 /** * [draggable 拖拽方法] * @param {[type]} modal [移动元素] * @param {[type]} handle [拖拽元素] */ var
js/es6 元素拖动
元素事件:鼠标按下事件/鼠标移动事件/鼠标松开事件 元素样式:让元素脱离文档流,采用绝对定位的方式. 一.鼠标按下事件 当鼠标在元素上面按下时,保存元素的初始偏移量和鼠标按下时的坐标,然后在状态变量里面标记当前状态为按下状态. 二.鼠标移动事件 当鼠标拖动元素移动时,我们通过计算鼠标从起始位到移动位之间的偏移量来求元素应该移动的距离. 元素移动距离= 初始坐标 + (鼠标拖动坐标 - 鼠标按下坐标 ) 三.鼠标松开事件 当鼠标松开后,我们把状态变量重置为假,表示当前拖动结束. HTML代码: <
js实现元素范围内拖动
元素拖拽,网上一堆的实现,其中很多是原生js写的,都不够简洁,甚至运行后看不到效果. 于是乎,安静地想了下,拖动元素貌似就是一个滑动事件的监听处理,具体操作如下: 1.一个外层DIV,或者直接用根节点代替. 2.一个可拖动的元素,设置一个选择器,如下设置的是class="obj". 3.元素css设置绝对定位,相对于影响其定位的父元素做范围内可拖拽 注:例子中相对于网页可见高宽的范围移动,所以用到了document.documentElement的高宽,如果其父元素是swiper插件的
关于js拖拽功能,拖拽元素的position:fixed;left:0;right:0;样式引起左右拖动元素会出现落后鼠标移动距离的问题
被拖拽元素的样式如果为:position:fixed;left:0;right:0;(当时是为了让fixed定位的元素水平居中加的left:0;right:0;避免js动态计算定位的麻烦)时左右拖动会出现拖动元素落后鼠标移动距离的问题,去掉right:0就可以了,而且如果只是去掉left:0还不行,还会是一样的情况...在chrome和IE下测试的情况,我的js是通过修改元素的left和top来实现拖动的,如果是right和top估计必须要去掉left才可以,这个以后有时间再测.
JS实现元素拖动
实现1 参考文献:http://www.cnblogs.com/cloudgamer/archive/2008/11/17/Drag.html 1.1 拖放效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- saved from url=(00
拖动元素,自由变换位置 jquery
拖动元素,将改元素插入到某个元素前/后,并返回当前所在的位置的索引值,代码如下: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script src="js/jquery-1.8.2.min.js"></script> <
如何用js让表格的行也能拖动
行拖动的实现思路非常简单,选中一行,往上拖就与上面的行交换位置,往下拖就与下面的行交换位置.问题是如何得到交换行.我见过一个非常详细的教程,它会把表格里的每一行的高度与Y坐标计算出来,换言之,都时是比较e.pageX是否在[rowTop,rowBottom]区间之内.但这也带来第二个问题,有多少行就有多个这样的区间.于是解法就变成取事件源对象,然后再往上取其父对象,如果其父对象是TR元素,就取其[rowTop,rowBottom]区间....思路非常直接,同时也客观做出一个限制——不能使用代理拖
JavaScript 实现鼠标拖动元素
一.前言 最开始实现鼠标拖动元素的目的就是在一个页面上拖动很多小圆点,用于固定定位,然后在复制HTML,粘贴在页面的开发代码中,就是这么一个功能,实现了很多遍,都没有做好,不得已采用了jQuery.fn.draggable插件,在接触一些资料和别人的思路,今天终于把这个拖动功能给完善了,下面就来看看它的实现 DEMO1:http://jsfiddle.net/Jj9qA/4/DEMO2: http://jsfiddle.net/gUYdg/1/ 二.设计思路 在拖动元素上绑定鼠标按下事件,在文档
【全面总结】js获取元素位置大小
[js获取元素位置+元素大小]全面总结 目录 1.关于offset offsetParent(只读) offsetTop(只读) offsetLeft(只读) offsetHeight(只读) offsetWidth(只读) 2.滚动尺寸scroll scrollWidth(只读) scrollHeight(只读) scrollLeft(可写) scrollTop(可写) 3.关于client clientWidth(只读) clentHeight(只读) clientLeft(只读) clie
jquery层级原则器(匹配前一个元素后的所有平辈元素)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>层级 </title> <
jquery层级原则器(匹配前一个元素后的下一个元素,必须是挨着的)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>层级 </title> <
Qt中,当QDockWidget的父窗口是一个不可以拖动的QTabWidget的时候实现拖动的方法
之前在做有关QDockWidget的内容时候遇到了瓶颈,那就是窗口弹出来之后拖动不了,也不可以放大和缩小,若是弹出来之后设置成了window的flags,也不可以拖动,而且也不是需要的效果. 1.弹出来之后的dockwidget的titlebar右边需要有3个按钮分别来控制放大与恢复.弹出来与收进去和关闭按钮.考虑到Qt自带的dockwidget弹出来后实现不了这个,所以参考了网上的方法,需要自己从QWidget中派生一个类来实现自己的titlebar 2.因为dockwidget是嵌套在QTa
JS子元素oumouseover触发父元素onmouseout
原文:JS子元素oumouseover触发父元素onmouseout JavaScript中,父元素包含子元素: 当父级设置onmouseover及onmouseout时,鼠标从父级移入子级,则触发父级的onmouseout后又触发onmouseover:从子级移入父级后再次触发父级的oumouseout后又触发onmouseover.而如果onmouseover内又应用了计时器便会存在较大的问题.下面针对此问题给出解决方案. 首先,在给出解决方案之前,必须先弄清楚几个对象及方法,分别如下: 1
获取 js DOM元素中绑定的所有事件,模仿 chrome getEventListeners
偶尔看到了这个问题,如何用JS获取元素某一事件上绑定的所有Listener? 突然觉得好像是有解决办法的,查了下,在 chrome 下,支持 window.getEventListeners(obj) 例如: addEvent(aLink, 'click',f, false); window.getEventListeners(aLink) 返回: 如果要模仿 chrome 实现呢,也是可以的,需要修改 addEventListener 和 removeEventListener,或者你自己自定
js中元素、触点等各种距离的总结
每次碰到元素滚动呀.鼠标拖动呀之类的通过对比位置来触发事件的需求时,都要花很多时间来百度怎么取到自己想要的那个值,什么scrollTop.offset等等,今天就把这些东西总结一下,以后再使用的话,就不用各种的百度了. 一,window窗口的各种距离 screen.width/height: 屏幕的宽度/高度 window.innerWidth/innerHeight : 窗口显示区的宽度/高度 window.outerWidth/outerHeight : 窗口的外部宽度/高度 window.
javascript jquery插入元素后事件会被注销
js jquery插入元素后事件会被注销 document.body.innerHTML += <div id="dd">test</div> //这个会注销事件 $(document.body).append(str);//使用这个 也可以绑定事件. 例子: //快捷键双击 $(".app_shortcut_item").dblclick(function () { var id = $(this).attr("id&quo
DIV 粘贴插入文本或者其他元素后,移动光标到最新处
此文主要是可编辑div光标位置处理 1:首先 设置一个可编辑的DIV,注意:设置 contenteditable="true" 才可以编辑DIV <div id="talkContent" style="resize: none;height:150px;overflow:auto" contenteditable="true"></div> 2:移动光标js方法 //聊天内容框 插入文本或者其他元素后
使用 jQuery 选择器获取页面元素后,利用 jQuery 对象的 css() 方法设置其样式。
查看本章节 查看作业目录 需求说明: 使用 jQuery 选择器获取页面元素后,利用 jQuery 对象的 css() 方法设置其样式. 要求如下: 点击页面的"更改样式"按钮后,使用 jQuery 设置标题"Web 前端技术"的字体颜色为红色 第一层的无序列表 <ul> 即"使用 DIV+CSS 设计前端页面""使用 JavaScript+jQuery 制作页面特效",列表符号是正方形 第二层无序列表是说明具体章
为不同分辨率单独做样式文件,在页面头部用js判断分辨率后动态加载定义好的样式文件
为不同分辨率单独做样式文件,在页面头部用js判断分辨率后动态加载定义好的样式文件.样式文件命名格式如:forms[_屏幕宽度].css,样式文件中只需重新定义文本框和下拉框的宽度即可. 在包含的头文件headr.inc中加入js代码: if(screen.width > 1024){ document.write('<link rel="stylesheet" type="text/css" href="${path}/nrmus/etc/cs
paip.调试js 查看元素事件以及事件断点
paip.调试js 查看元素事件以及事件断点 ff 26 +firebug 查看不出来.. 360 ,虽然也是chrome 基础,但是开发工具烂阿,也是显示不出来.. 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax chrome 30..就是强大...全部显示出来.. 元素事件查看:element>right ,eventl listers ,能查看click事件..
Javascript实现鼠标框选元素后拖拽被框选的元素
之前需要做一个框选元素后拖拽被框选中的元素功能,在网上找资料做了一些修改,基本达到了需要的效果,希望对也需要实现框选后拖拽元素功能的人有用. 页面加载后效果 框选后的内容可以拖拽,如下图: 代码下载
热门专题
mysql断网后,重连会造成程序崩溃
winform 事务
二叉排序树的创建输出、查找、插入、删除
java判断指定日期是否为工作日
vue 楼层滚动 nav高亮
sqlalwayson数据同步原理
OptionParser()输出版本信息
虚拟机net模式 如何与主机通信
黑群晖6.1不兼容网卡
ubuntu虚拟机复制粘贴没反应
echarts 条形图坐标轴颜色设置
tf中sequence_loss_by_example
java tgz解压
abp的模块为什么要依赖才可以使用
在Linux环境下,如何快速切换到用户John的主目录下
springboot 懒加载 全局配置
ta和tc主要看哪个
orcal 修改语句
javasfript模拟事件
jmeter的counter函数下载