one()

功能

为元素的事件添加处理函数。处理函数在每个元素上每种事件类型最多执行一次。

语法

eventer.one(elm, event, selector, data, callback)

参数

参数

  • elm
    HTMLElement对象,指定对象HTML元素
  • events
    一个或多个空格分隔的事件类型和可选的命名空间,或仅仅是命名空间,比如“click”, “keydown.myPlugin”, 或者 “.myPlugin”。
  • selector
    一个选择器字符串,用于过滤出被选中的元素中能触发事件的后代元素。如果选择器是 null 或者忽略了该选择器,那么被选中的元素总是能触发事件
  • data
    当一个事件被触发时,要传递给事件处理函数
  • callback
    回调函数

范例

Example: 处理函数在每个元素上每种事件类型只执行一次。

<!DOCTYPE html>
<html>

<head>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.3/require.min.js"></script>
    <script>
    require.config({
        baseUrl: "./",
        packages: [{
            name: "skylark",
            location: "../../../src/skylark"
        }, ]
    });
    </script>
</head>

<body>
    <div class="count">0</div>
    <button class="target">Counter</button>
    <script>
    require(["skylark/query", "skylark/eventer"], function($, eventer) {
        var count = $(".count"),
            value = count.text();
        eventer.one($(".target")[0], "click mouseenter", function() {
            count.html(++value);
        });
    });
    </script>
</body>

</html>