首页
学习
活动
专区
圈层
工具
发布

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

前言 关于讲解 JS 的拖拽功能的文章数不胜数,我确实没有必要大费周章再写一篇重复的文章来吸引眼球。本文的重点是讲解如何在某些特定的元素上禁止拖拽。...,比如可以指定整个 modal 为拖拽元素 draggable('#modal','#modal'); 拖拽问题 整个拖拽功能并没有太大的问题,但是如果我们拖拽关闭按钮,仍然可以拖拽整个 modal,看起来不太和谐而且在某些情况下会影响功能...排除特定元素的方法 关于如何排除特定元素的方法,很多人会推荐阻止冒泡的方法,但是我试了很多次,这种方法是不行的,因为拖拽事件绑定在了 document 对象上。...解决的方法就是在拖拽开始时添加限制条件,代码如下 ......因为我们在排除特定元素的同时也要排除它的子元素。如果使用原生 JS 的话,需要添加获取子元素的方法。

5.9K90

如何高效的判断一个数组里是否含特定元素判断一个数组里是否含有特定元素的四种方法时间复杂度测试小结

如何高效的判断一个数组里是否含特定元素?...这是我们在实际开发中经常遇到的一个问题,也是在Stack Overflow上的热门问题,解决这个问题有很多不同的方法,但是不同的方法的时间复杂度却差别很大,所以本文会列举常用的几种方法,并且对比每个方法的耗时...判断一个数组里是否含有特定元素的四种方法 使用list //Using List public static boolean useList(String[] arr, String targetVal...Paste_Image.png 看出测试结果,竟然是直接使用简单的循环效率是最高的。 显然,如果数组已经排好序的情况下,我们应该使用二分查找的方法。...小结 我们发现当数组是无序的时候,我们如果要判断一个数组中是否含有一个元素,应该使用直接的循环查找,这样效率是最高的,如果数组是有序的情况下,我们应该使用二分查找,此外,如果是在hashset或hashmap

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

    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式

    Selector:active 匹配Selector选择器且处于被用户激活(在鼠标点击与释放之间的状态)的状态的元素。 Selector:focus 匹配Selector选择器且已得到焦点的元素。.../ input:focus { text-decoration: underline; border:3px solid #F00; } /*没有选择器的情况下,会将所有处于disabled状态下的元素的...在HTML文档中,根元素永远是元素 Selector:first-child 表示一组同胞元素中的第一个元素。 Selector:last-child 表示一组同胞元素中的最后一个元素。...(倒数第n个) Selector:only-child 匹配符合Selctor选择器,而且必须只有一个子节点。...伪元素就是说在你的文档中若有实无的元素 (解释说明:在HTML代码中没有,我们可以通过css的样式设置伪元素,让它显示给我们看到) 伪元素: ::first-letter 伪元素 第一个字母 ::

    24110

    (JavaScript)前端JS不知道怎么理解网页?本专栏从0开始教学!(十一):入门DOM文档对象模型;摸清四大 文档、元素、文本、属性 节点的含义;了解三个节点特定属性

    节点类型 nodeValue节点的值 文档节点(document): 文档节点document,代表的是整个HTML文档,网页中的所有节点都是它的子节点。...它包括可以字面解释的纯文本内容 文本节点一般是作为元素节点的子节点存在的 获取文本节点时,一般先要获取元素节点。...在通过元素节点获取文本节点 例如: 元素节点.firstChild :获取元素节点的第一个子节点,一般为文本节点 var txt=h1.firstChild;//文本节点 console.log(txt...);//文本节点 console.log(txt.nodeName);//文本节点的名称 属性节点(Attr) 属性节点表示的是标签中的一个的属性,这里要注意的是属性节点并非是元素节点的子节点,而是元素节点的一部分...以下常用的几种节点类型: 元素类型 节点类型 元素 1 属性 2 文本 3 注释 8 文档 9 下一篇(十二),讲解获取DOM元素对元素进行相关操作;

    28910

    Java Maven POM配置参考

    上面给出的三个元素指向一个项目的特定版本,让Maven知道我们在与谁打交道,以及在其软件生命周期中我们需要它们的时间。...新类型可以由将extensions设置为true的插件定义,因此这不是一个完整的列表 scope 这个元素指的是手头任务(编译和运行时、测试等)的类路径,以及如何限制依赖项的传递性。...构建设置 Build 根据POM 4.0.0 XSD,build 元素在概念上分为两个部分:一个是BaseBuild 类型,它包含两个build 元素共有的一系列元素(project下的顶级build元素和...在子POM中使用这些属性可以控制Maven如何将父级的插件配置与子级的显式配置相结合。...然而,这只配置在子POM或当前POM中plugins元素实际引用的插件。子POM们完全有权覆盖pluginManagement 定义。

    1.5K30

    Spring认证中国教育管理中心-Spring Data Couchbase教程五

    为集合提供专用的包装器类型是为返回多个元素的查询结果提供 API 的常用模式。...它们null在运行时提供了一种工具友好的方法和选择加入检查,如下所示: @NonNullApi:在包级别上用于声明参数和返回值的默认行为分别是既不接受也不产生null值。...@NonNull: 用于不能使用的参数或返回值null(在@NonNullApi适用的情况下不需要用于参数和返回值)。 @Nullable: 用在参数或返回值上即可null。...如果查询结果违反了定义的约束,则会引发异常。当方法将返回null但被声明为不可为空(默认情况下,在存储库所在的包上定义注释)时,就会发生这种情况。...使用过滤器 默认情况下,基础设施会选择扩展Repository位于已配置基本包下的特定于持久性技术的子接口的每个接口,并为其创建一个 bean 实例。

    1.5K10

    XML及相关协议

    在特定行业领域中,可以定义一组 XML Schema 脚本并通过网络发布,这些 XML Schema 可以被认为时数据类型标准 2....(含嵌套的子元素和所隶属的属性) 名称空间前缀可以在嵌套的子元素中进行重新定义 默认名称空间:在大多数元素隶属于相同的名称空间时,可以使用默认名称空间语法 <elementName xmlns='URI...,属性没有名称空间 使用 xmlns = "" 定义没有名称空间的元素 属性不受默认名称空间的影响,特定元素中的属性应各不相同(即属性不能重复定义) 4....4.3 XML Schema 类型系统 简单类型(不存在树状结构) 不能含有属性或子元素 是 XML Schema 类型语言中的原子类型 可以用以定义其他类型(简单类型或复杂类型) XML Shema...包含 40 多个预定义的简单类型 复杂类型(一定存在树状结构) 可以含有属性 可以含有子元素 可以用来定义其他复杂类型 不能用来定义简单类型 xsd:simpleType name="quantityType

    1.6K20

    使用 Spring Data Repositories(中)

    以下示例显示了如何限制查询大小: 示例 20....它们null在运行时提供了一种工具友好的方法和选择加入检查,如下所示: @NonNullApi: 在包级别上用于声明参数和返回值的默认行为分别是既不接受也不产生null值。...该方法接受null的firstname参数,并返回null,如果查询不产生结果。 4.4.8. 流式查询结果 您可以使用 Java 8Stream作为返回类型以增量方式处理查询方法的结果。...创建存储库实例 本节介绍如何为定义的存储库接口创建实例和 bean 定义。...使用过滤器 默认情况下,基础设施会选择每个接口,这些接口扩展Repository位于配置的基本包下的持久性技术特定的子接口,并为其创建一个 bean 实例。

    1.6K30

    Java 中文官方教程 2022 版(三十八)

    当在 DTD 中引用未声明的元素时会产生警告。) 为未声明的元素类型声明属性。 Java XML SAX 解析器还在其他情况下发出警告: 在验证时不需要在 的声明中,在 TITLE 后面添加一个问号 (?) 键。 在 DTD 中给子元素的声明添加一个问号,使得该子元素的一个实例的存在是可选的。 如果在元素后面添加星号 (*),则可以包含零个或多个该子元素的实例。 但是,在这种情况下,在文档的某个部分中有多个标题是没有意义的。...它还展示了如何从头开始创建 DOM,并了解如何使用 Sun 的 JAXP 实现中的一些特定于实现的功能将现有数据集转换为 XML。...(正如您将在从任意数据结构生成 XML 中看到的,一个聪明的应用程序可以利用它来操作非 XML 数据)。 XPath 归根结底,XSLT 是一种语言,让您指定在遇到特定元素时要执行的操作。

    1.3K00

    Spring Data JPA 参考文档二

    为集合提供专用包装器类型是一种常用模式,用于为返回多个元素的查询结果提供 API。...它们null在运行时提供了一种工具友好的方法和选择加入检查,如下所示: @NonNullApi: 在包级别上用于声明参数和返回值的默认行为分别是既不接受也不产生null值。...4.5.创建存储库实例 本节介绍如何为定义的存储库接口创建实例和 bean 定义。...使用过滤器 默认情况下,基础设施会选择每个接口,这些接口扩展Repository位于配置的基本包下的持久性技术特定的子接口,并为其创建一个 bean 实例。...多个存储库可以使用片段接口,让您可以在不同的存储库中重用自定义。 以下示例显示了存储库片段及其实现: 示例 34.

    1.5K30

    XML Schema(XSD)详解:定义 XML 文档结构合法性的完整指南

    XML 文档的合法构建块可以出现在文档中的元素和属性子元素的数量(和顺序)元素和属性的数据类型元素和属性的默认和固定值为什么要学习 XML Schema在 XML 世界中,每天都在使用数百种标准化的...考虑以下情况:您订购了5大毛的激光打印机,而不是5台激光打印机。使用 XML Schema,大多数这类错误可以被验证软件捕捉到。XSD如何使用XML 文档可以引用 DTD 或 XML Schema。...您还可以向数据类型添加限制(facet)以限制其内容,或者您可以要求数据匹配特定模式定义简单元素的语法为其中 xxx 是元素的名称,...在以下示例中,固定值为 "red":XSD 属性所有属性都声明为简单类型简单元素不能具有属性...您可以在下一章中了解更多关于 facets 的信息。XSD 限制/约束限制用于定义 XML 元素或属性的可接受值。对 XML 元素的限制称为 facets。

    2.9K10

    【Java 进阶篇】Java XML约束:确保数据一致性和有效性

    XML约束是一种规则集,定义了XML文档的结构、元素、属性和数据类型。本篇博客将详细介绍Java中如何使用XML约束,以及如何创建、验证和应用XML约束。 什么是XML约束?...DTD通常以独立的DTD文件形式存在,可以与XML文档一起使用。DTD定义包括元素的名称、元素之间的关系、元素的属性以及数据类型。...XSD(XML Schema Definition):XSD是一种更强大和灵活的XML约束规范,它使用XML文档的形式定义约束。XSD支持更复杂的数据类型、命名空间、元素和属性的约束规则。... 元素表示元素的子元素必须按顺序出现。...使用XSD验证的优点 强大性:XSD提供了更强大和灵活的约束规则,可以精确定义数据类型、元素、属性等。 命名空间支持:XSD支持命名空间,有助于避免元素和属性名称冲突。

    1.1K10

    Java Maven Settings配置参考

    介绍 快速概览 settings.xml文件中的 settings 元素包含用于定义以各种方式配置Maven执行的值的元素,如pom.xml,但不应绑定到任何特定项目或分发给受众。...可以在项目内部声明仓库,这意味着,如果你有自己的自定义仓库,那些共享你项目的可以很容易地获得开箱即用的正确配置。但是,你可能希望在不更改项目文件的情况下为特定仓库使用备用镜像。...与POM的profiles一样,profile的力量来自于它仅在特定情况下修改某些值的能力;这些情况是通过元素指定的。...有了这两个集合,POM就有能力在单个仓库中独立于其他类型来更改每种类型的策略。例如,可能出于开发目的,可以决定只启用snapshot下载。...在任何情况下, pluginRepositories 元素块的结构都类似于 repositories 元素。 pluginRepository元素分别指定Maven可以在其中查找新插件的远程位置。

    3.4K30

    【C语言】剖析qsort函数的实现原理

    回调函数实际上是一个指针,指向的是一个函数。它作为一个参数传递给另一个函数,并且在特定的条件下被执行。 回调函数的作用 回调函数的主要作用是使代码更加灵活和模块化。...使用 void* 类型作为参数可以让比较函数更加通用,因为 void* 是一种无类型指针,可以指向任何类型的数据。...通过使用 void* 类型,可以在不知道具体数据类型的情况下编写通用的比较函数,使 qsort 函数更加灵活和通用。...实现原理 选择基准元素:qsort 函数首先选择数组中的一个元素作为基准元素。通常情况下,可以选择数组的第一个元素作为基准元素。...partition 函数:这个函数用于将一个数组的某个子数组分成两部分,使得左边的元素都小于或等于基准元素,而右边的元素都大于基准元素。它接受一个整数数组、子数组的起始索引和结束索引作为参数。

    67210

    Java Maven Settings配置参考

    介绍 快速概览 settings.xml文件中的 settings 元素包含用于定义以各种方式配置Maven执行的值的元素,如pom.xml,但不应绑定到任何特定项目或分发给受众。...可以在项目内部声明仓库,这意味着,如果你有自己的自定义仓库,那些共享你项目的可以很容易地获得开箱即用的正确配置。但是,你可能希望在不更改项目文件的情况下为特定仓库使用备用镜像。...与POM的profiles一样,profile的力量来自于它仅在特定情况下修改某些值的能力;这些情况是通过元素指定的。...有了这两个集合,POM就有能力在单个仓库中独立于其他类型来更改每种类型的策略。例如,可能出于开发目的,可以决定只启用snapshot下载。...在任何情况下, pluginRepositories 元素块的结构都类似于 repositories 元素。 pluginRepository元素分别指定Maven可以在其中查找新插件的远程位置。

    1.7K00

    XML Schema 复杂元素类型详解:定义及示例解析

    在XML Schema(XSD)中,复杂元素是指包含其他元素和/或属性的XML元素。复杂元素可以分为四种类型:空元素: 仅包含其他元素和/或属性的元素。...仅包含其他元素的元素: 不包含文本内容,只包含其他子元素的元素。仅包含文本的元素: 不包含其他子元素,只包含文本内容的元素。既包含其他元素又包含文本的元素: 同时包含其他子元素和文本内容的元素。...,然后在需要的地方引用该类型。...在XSD中定义一个空元素需要遵循以下步骤:使用元素定义元素。使用元素定义复杂类型。使用元素指定内容模型。...因为模式 family.xsd 允许我们在 lastname 元素后面添加一个可选元素。

    66510

    Maven 个性化 settings 配置

    关于 的说明 虽然 mirrors 可以配置多个子节点,但是它只会使用其中的一个节点,即默认情况下配置多个mirror的情况下,只有第一个生效,只有当前一个 mirror...这里的profile元素只包含这五个子元素是因为这里只关心构建系统这个整体(这正是settings.xml文件的角色定位),而非单独的项目对象模型设置。...如pom.xml中的profile一样,profile的作用在于它能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。...--如何处理远程仓库里发布版本的下载 --> 类型构件(发布版,快照版)开启。...--如何处理远程仓库里快照版本的下载。有了releases和snapshots这两组配置,POM就可以在每个单独的仓库中,为每种类型的构件采取不同的策略。

    1.7K10
    领券