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>