首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过 JS 实现简单的拖拽功能并且可以在特定元素上禁止拖拽

本文的重点是讲解如何在某些特定的元素上禁止拖拽。这是我在编写插件时遇到的问题,其实很多插件的拖拽功能并没有处理这些细节,经过翻阅 jquery ui 的源码才找到答案。...,比如可以指定整个 modal 为拖拽元素 draggable('#modal','#modal'); 拖拽问题 整个拖拽功能并没有太大的问题,但是如果我们拖拽关闭按钮,仍然可以拖拽整个 modal,看起来不太和谐而且在某些情况下会影响功能...排除特定元素的方法 关于如何排除特定元素的方法,很多人会推荐阻止冒泡的方法,但是我试了很多次,这种方法是不行的,因为拖拽事件绑定在了 document 对象上。...解决的方法就是在拖拽开始时添加限制条件,代码如下 ......因为我们在排除特定元素的同时也要排除它的子元素。如果使用原生 JS 的话,需要添加获取子元素的方法。

4.9K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为元素添加边框,你有多少种好办法?

    作者:莫卓颖 背景 相信大家在做项目的过程中会经常遇到这样的一个需求,鼠标hover到某个元素的时候为这个元素添加边框,这个简单的需求仅需注意添加边框后不会对原有的位置造成布局的影响从而造成布局跳动。...方案一 实现思路:为元素中预先设置边框,边框的颜色与元素所在父元素背景色一致,边框大小与hover时候的边框大小一致,鼠标hover过元素的时候只需要设置边框颜色便可。...2px; height: 200px; float: left; } .parent li:hover{ border:2px solid yellow; } 方案二 实现思路:首先设置元素为...position:relative,然后添加额外隐藏的边框元素,鼠标hover过元素的时候显示提前隐藏的边框元素 兼容问题:无 实现代码: HTML结构 ...,利用h5的新属性box-shadow为元素添加实体的阴影作为边框 兼容性: 实现代码: HTML结构

    96900

    为元素添加边框,你有多少种好办法?

    本文作者:IMWeb 莫卓颖 原文出处:IMWeb社区 未经同意,禁止转载 背景 相信大家在做项目的过程中会经常遇到这样的一个需求,鼠标hover到某个元素的时候为这个元素添加边框,这个简单的需求仅需注意添加边框后不会对原有的位置造成布局的影响从而造成布局跳动...方案一 实现思路:为元素中预先设置边框,边框的颜色与元素所在父元素背景色一致,边框大小与hover时候的边框大小一致,鼠标hover过元素的时候只需要设置边框颜色便可。...2px; height: 200px; float: left; } .parent li:hover{ border:2px solid yellow; } 方案二 实现思路:首先设置元素为...position:relative,然后添加额外隐藏的边框元素,鼠标hover过元素的时候显示提前隐藏的边框元素 兼容问题:无 实现代码: HTML结构 ...,利用h5的新属性box-shadow为元素添加实体的阴影作为边框 兼容性: ?

    69320

    为元素添加边框,你有多少种好办法?

    背景 相信大家在做项目的过程中会经常遇到这样的一个需求,鼠标hover到某个元素的时候为这个元素添加边框,这个简单的需求仅需注意添加边框后不会对原有的位置造成布局的影响从而造成布局跳动。...方案一 实现思路:为元素中预先设置边框,边框的颜色与元素所在父元素背景色一致,边框大小与hover时候的边框大小一致,鼠标hover过元素的时候只需要设置边框颜色便可。...2px; height: 200px; float: left; } .parent li:hover{ border:2px solid yellow; } 方案二 实现思路:首先设置元素为...position:relative,然后添加额外隐藏的边框元素,鼠标hover过元素的时候显示提前隐藏的边框元素 兼容问题:无 实现代码: HTML结构 ...,利用h5的新属性box-shadow为元素添加实体的阴影作为边框 兼容性: ?

    95970

    css推荐写法

    禁止将样式写为单行 .hotel-content {margin: 10px; background-color: #efefef;} 单行显示不好注释,不好备注,这应该是压缩工具的活儿~ 7....禁止向 0 后添加单位 前端高质量代码一书中提到过 .obj { left: 0px; } 8....,但是当他加载完毕之后,那块为0的空间突然被撑开了,这样会导致,他下面的元素重新排列和渲染,造成重绘(repaint)和回流(reflow)。...(推荐)当编写针对特定html结构的样式时,使用元素名 + 类名 /* 所有的inner都是针对div编写的 */ div.inner { ...... } ".a div"和".a div.b...,一些元素在浏览器中默认有margin或padding值,但是只是部分元素,没有必要将所有元素的margin、padding值都置为0,包括我们页面都没使用到的元素,这样对性能有影响,而且一个网页能用到的标签都是有限的

    95520

    原生 JS DOM 常用操作大全

    阻止事件的默认跳转行为 }) 禁止鼠标选中文字 //2.selectstart 禁止鼠标选中文字 documnet.addEventListener(“selectstart”,function(e)...包括导致事件的元素、事件的类型以及其他与特定事件相关的信息。事件触发时系统会产生一个事件对象,并且系统会以实参的形式传给事件处理函数在事件处理程序中声明一个形参用来接收事件参数。 //1..../是否包含此类名, 返回布尔值判断是否为存在 calssName 是保留字,因此使用 calssName 来操作元素类名属性 取消 a 标签的默认跳转 方法一: 在处理程序内的最后 添加 return...不克隆里面的子节点如果括号参数为true,则是深度拷贝,会复制节点本身以及里面所有的子节点 DOM的核心总结 DOM操作,我们主要针对于元素的操作。...//在父节点的末尾添加节点insertBefore //可以指定子节点的添加位置 删除 removeChild 改 主要修改DOM元素的属性,DOM元素的内容,属性,表单的值等。

    10810

    jquery使按钮置灰不可用

    使用jQuery实现按钮置灰不可用效果在Web开发中,有时候我们需要在特定情况下将按钮置灰并设置为不可用状态,以防止用户重复点击或者暂时禁止某些操作。本文将介绍如何使用jQuery来实现这一效果。...如果需要给按钮添加文本提示,可以使用attr("title", "按钮已禁用")。...按钮置灰不可用的效果经常用于表单提交时,为了避免用户重复提交表单或者在表单提交过程中禁止其他操作。下面是一个示例代码,结合一个简单的表单提交场景,演示如何使用jQuery实现按钮置灰不可用的效果。...disabled是HTML中常用的属性,用于禁用某些元素,例如按钮、输入框等,使其变为不可用状态。当元素被禁用时,用户无法与该元素进行交互,无法点击按钮、输入内容或选择选项等操作。1....使用方法:在HTML中,将disabled属性添加到需要禁用的元素标签中即可,例如:htmlCopy codeSubmit<input type="text

    44510

    FastClick用法

    使用needsclick过滤特定的元素 如果页面上有一些特定的元素不需要使用fastclick来立刻触发点击事件,可以在元素的class上添加needsclick: <a class="needsclick...document.body); }, false); } 不需要使用fastclick的情况 以下这几种情况是不需要使用fastclick: 1、FastClick是不会对PC浏览器添加监听事件...2、Android版Chrome 32+浏览器,如果设置viewport meta的值为width=device-width,这种情况下浏览器会马上出发点击事件,不会延迟300毫秒。...4、IE11+浏览器设置了css的属性touch-action: manipulation,它会在某些标签(a,button等)禁止双击事件,IE10的为-ms-touch-action: manipulation...auto,将其置为 none 即可移除目标元素的 300 毫秒延迟 缺点: 新属性,可能存在浏览器兼容问题 4. tap事件 zepto的tap事件, 利用touchstart和touchend

    1.4K20
    领券