我正在为 jQuery 编写一个插件,我想知道是否有办法调用只影响插件的任何实例一次的方法。
更具体地说,我的代码如下所示:
var body = $('body');
body.on(
'click',
'selector',
function(e)
{
console.log("Do some stuff with my plugin");
}
);
在上面的代码中,"console.log("Do some stuff with my plugin");" 正在为相同数量的插件实例运行。
例如,如果我有以下代码:
<body>
<a href="#" class="selector_1">Click me</a>
<a href="#" class="selector_2">Click me</a>
<a href="#" class="selector_3">Click me</a>
<script type="text/javascript">
jQuery(document).ready(
function($)
{
$('.selector_1').myPlugin();
$('.selector_2').myPlugin();
$('.selector_3').myPlugin();
}
);
</script>
</body>
现在,如果我单击文档中的任何链接,我将在控制台中收到三遍“Do some stuff with my plugin”消息,因为此事件已注册了 3 次。
那么,有没有办法为任意数量的插件实例只运行一次代码?
注意:为了构建我的 jQuery 插件,我使用了这个骨架