当使用live()时,有没有一种方法可以强制事件只在给定的元素上激发一次(每个元素,而不是整个文档)
is there a way to force event to fire only once on given element (per element, not whole document) when using live()?
$('div.myclass').live('click',function() {
alert('i should respond only once');
});
我知道jquery有一个one()
函数,但我不知道如何将其与上面的代码集成。
$('div.myclass').live('click',function() {
if($(this).attr('clicked') != 'yes')
{
alert('i should respond only once');
$(this).attr('clicked', 'yes');
}
});
在live()
单击处理程序中,您可以直接在调用e.stopPropagation()
的元素上bind()
事件。因此,在下一次单击时,事件将无法冒泡到文档中,因为它实际上会触发实时事件。
演示:http://jsfiddle.net/kKHJm/
$('li').live('click',function(){
$(this).click(function(e){
e.stopPropagation();
});
// Do stuff once here
});
相关文章:
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- JS触发器值检查在文档加载后添加到页面的元素在加载时更改AND
- 如何获取文档数组中元素的计数-MongoDB
- 使用jQuery访问元素'来自谷歌文档托管的iframe的文本
- 在不引用文档的情况下使用AngularJS获取元素
- 正在获取单击的元素相对于整个文档的索引
- MDN文档中关于弄清楚XUL元素的段落是什么意思:“如何将覆盖扩展转换为无重启”
- 用于修改文档元素的 PHP 代码
- 使用 ajax 将 HTML 文档附加到元素
- 是否有 jQuery 事件用于何时将元素添加到文档中
- getSelection()只能应用于某个元素(而不是整个文档)
- 挂钩文档.使用函数原型创建元素
- 复制和修改元素,以便在html文档的另一部分使用它们
- 获取文档的所有元素,id为'主导航'
- 使用 shift 在具有字符串/数组的文档中查找元素
- 在javascript中阻止文档执行默认操作时,在单个元素中使用默认事件
- 如何切换文档元素的可见性
- javascript中元素/文档高度的事件侦听器
- PHP中的Javascript代码不能访问HTML元素.文档.getElementById不工作