jQuery undelegate()方法

jQuery undelegate()方法

jQuery undelegate()方法是一个内置的方法,它是用来从选定的元素中删除指定的事件处理器。

语法:

$(selector).undelegate(selector, event, function)

参数:该方法接受上面提到的和下面描述的三个参数。

  • selector。这是一个可选参数,用于指定事件将被移除的选择器。
  • event。这是一个可选参数,用于指定选择器上的事件类型名称。
  • function。这是一个可选的参数,用于指定要删除的处理程序函数的名称。

下面的例子说明了jQuery中的undelegate()方法。
例子1:这个例子不包含任何参数。

<!DOCTYPE html>
<html>
  
<head>
    <title>The undelegate Method</title>
    <script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
    </script>
  
    <!-- jQuery code to show the working of this method -->
    <script>
        (document).ready(function () {
            ("body").delegate("p", "click", function () {
                (this).css("font-size", "25px");
            });
            ("button").click(function () {
                $("body").undelegate();
            });
        });
    </script>
    <style>
        div {
            width: 300px;
            height: 100px;
            background-color: lightgreen;
            padding: 20px;
            font-weight: bold;
            font-size: 20px;
            border: 2px solid green;
        }
  
        button {
            margin-top: 10px;
        }
    </style>
</head>
  
<body>
    <div>
        <!-- click on this p element -->
        <p>Welcome to GeeksforGeeks!.</p>
    </div>
    <!-- click on this button to remove the
        event handler -->
    <button>Remove...!</button>
</body>
  
</html>

输出:

jQuery undelegate()方法

注意:先点击按钮,再点击段落,就不会发生变化。

例子2:这个例子包含所有参数。

<!DOCTYPE html>
<html>
  
<head>
    <title>The undelegate Method</title>
    <script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
    </script>
  
    <!-- jQuery code to show the working of this method -->
    <script>
        (document).ready(function () {
            ("body").delegate("div", "click", function () {
                (this).animate({
                    height: "+=100px"
                });
                (this).animate({
                    width: "+=100px"
                });
            });
            ("button").click(function () {
                ("body").undelegate("div", "click");
            });
        });
    </script>
    <style>
        div {
            width: 30px;
            height: 30px;
            background-color: green;
        }
  
        button {
            margin-top: 10px;
        }
    </style>
</head>
  
<body>
    <div></div>
    <!-- click on this button -->
    <button>Click here..!</button>
</body>
  
</html>

输出:

jQuery undelegate()方法

注意:如果点击按钮,然后再点击div元素,那么尺寸将不会发生变化。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程