jQuery UI的Droppable over事件

当我们使用jQuery UIDroppable组件时,我们可以为每个Droppable添加一个over事件。该事件会在拖拽元素进入该Droppable并在该Droppable上移动时触发。

下面是完整的Droppable over事件攻略:

1. 基本语法

要为Droppable添加over事件处理程序,首先要使用droppable()方法初始化Droppable。然后,我们可以使用以下语法为每个Droppable添加over事件:

$( ".selector" ).droppable({
    over: function( event, ui ) {
        // 拖拽元素悬停在此 Droppable 元素上时,执行的代码
    }
});

其中,over是事件名称,function(event, ui)是事件处理程序,event是鼠标事件对象,ui是拖拽元素的相关信息。

2. 示例说明

2.1 实例1

下面是一个基本的Droppable over事件示例,当拖拽元素进入带有.demo类的div元素时,它的背景颜色将改变:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Droppable over Event</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <style>
        .demo { width: 150px; height: 150px; padding: 0.5em; margin: 10px; border: 1px solid #555; float: left; }
        .dropped { background-color: #ff0; }
    </style>
    <script src="//code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script>
        $(document).ready(function(){
            $( ".demo" ).droppable({
                over: function( event, ui ) {
                    $(this).addClass("dropped");
                }
            });
        });
    </script>
</head>
<body>
    <div class="demo">Droppable Area 1</div>
    <div class="demo">Droppable Area 2</div>

    <div style="clear:both;"></div>
</body>
</html>

在该示例中,我们使用了addClass()方法为带有.demo类的div元素添加了.dropped类,从而将元素的背景颜色改变为黄色。

2.2 实例2

下面是另一个Droppable over事件示例,当拖拽元素进入带有.demo2类的div元素时,它的背景颜色将根据鼠标位置动态改变:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Droppable over Event</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <style>
        .demo2 { width: 150px; height: 150px; padding: 0.5em; margin: 10px; border: 1px solid #555; float: left; }
        .dropped2 { background-color: #ff0; }
    </style>
    <script src="//code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script>
        $(document).ready(function(){
            $( ".demo2" ).droppable({
                over: function( event, ui ) {
                    var $this = $(this),
                        x = event.pageX - $this.offset().left,
                        y = event.pageY - $this.offset().top,
                        coords = "calc(" + x + "px - 50%) calc(" + y + "px - 50%)";
                    $this.css("backgroundPosition", coords);
                }
            });
        });
    </script>
</head>
<body>
    <div class="demo2">Droppable Area 1</div>
    <div class="demo2">Droppable Area 2</div>

    <div style="clear:both;"></div>
</body>
</html>

在该示例中,我们使用了pageXpageY属性获取鼠标相对于页面的坐标,然后使用offset()方法获取带有.demo2类的div元素相对于页面的偏移量,计算出鼠标相对于元素中心点的坐标,最后使用css()方法动态设置元素的backgroundPosition属性,从而改变背景图片的显示位置。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery UI的Droppable over事件 - Python技术站

(0)
上一篇 2023年5月12日
下一篇 2023年5月12日

相关文章

  • checkbox使用示例

    这里给您讲解一下”checkbox使用示例”的完整攻略,具体内容如下: 什么是checkbox checkbox 是表单中的一个输入框,一般用于选择多个选项或确认某个事项是否被选中,常用于用户设置、数据筛选等场合。 checkbox的基本语法 checkbox的语法非常简单,包含一个 input 标签和一个 label 标签,具体如下: <input …

    jquery 2023年5月29日
    00
  • jQWidgets jqxNumberInput模板属性

    以下是关于 jQWidgets jqxNumberInput 组件中模板属性的详细攻略。 jQWidgets jqxNumberInput 模板属性 jQWidgets jqxNumberInput 组件的模板属性用于设置组件中数字的显示格式。 语法 $(‘#numberInput’).jqxNumberInput({ template: template …

    jquery 2023年5月12日
    00
  • jQuery中:submit选择器用法实例

    下面就来详细讲解一下“jQuery中:submit选择器用法实例”的完整攻略。 什么是jQuery中的:submit选择器? 在jQuery中,:submit选择器可以用来选择type属性为”submit”的表单元素。如下几种: button input[type=”submit”] input[type=”image”] input[type=”butto…

    jquery 2023年5月28日
    00
  • ajax、axios和fetch之间优缺点重点对比总结

    下面是Ajax、Axios和Fetch之间的优缺点重点对比总结: Ajax、Axios和Fetch的介绍 Ajax(Asynchronous JavaScript and XML)是JavaScript的一种异步请求方式,用于更新页面的局部内容。Ajax可以发送HTTP请求并接收HTTP响应,从而实现异步更新网页的效果。 Axios是一个基于Promise的…

    jquery 2023年5月27日
    00
  • jQWidgets jqxKnob progressBar属性

    jQWidgets jqxKnob progressBar属性攻略 jQWidgets 是一个基于 jQuery 的 UI 组件库,提供了丰富的 UI 组件和工具,可于创建现代化应用程序。 jqxKnob 旋钮,于可视化调整数值。本攻略将详细介绍 jqxKnob 的 progressBar 属性,包括 progressBar 的使用方法和示例。 progre…

    jquery 2023年5月10日
    00
  • jquery实现百叶窗效果

    讲解如下: 什么是百叶窗效果 百叶窗效果是指在网页上展示图片时,以一定的动画方式将图片分隔成若干根大小相等、相互覆盖的条纹,在条纹之间加上间距,使用过渡样式使条纹依次展示或隐藏的过程。该效果通常会运用到图片幻灯片等场景中。 实现过程 我们首先需要一个HTML结构,使用 ul 和 li 标签创建图片列表,并且需要使用CSS布局和样式,确定图片列表宽度、高度、边…

    jquery 2023年5月18日
    00
  • jQWidgets jqxPopover rtl属性

    以下是关于 jQWidgets jqxPopover 组件中 rtl 属性的详细攻略。 jQWidgets jqxPopover rtl 属性 jQWidgets jqxPopover 组件的 rtl 属性用于设置组件的文本方向是否从右到左。 语法 $(‘#popover’).jqxPopover({ rtl: true }); 参数 rtl:一个布尔值,表…

    jquery 2023年5月12日
    00
  • jQWidgets jqxDropDownList disableAt()方法

    jQWidgets jqxDropDownList disableAt()方法详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件和工具包。jqxDropDownList是Widgets组件下的组件本文详细介绍jqxDropDownList的disableAt()方法,包括用法、语法和示例。 disableAt()方法的基本法 di…

    jquery 2023年5月10日
    00
合作推广
合作推广
分享本页
返回顶部