自定义事件由同一事件处理程序触发缓存
Custom event fired it's caching by the same event handler
我创建了一个名为 foo
的自定义事件,并在代码中注册了这两个侦听器
var $selector1 = $('#foocontainer .item');
var $selector2 = $('#blah .item');
$(document).on('foo',$selector1,
function(){ console.log('blah');
});
$(document).on('foo',$selector2,
function(){ alert('testing 123...');
});
如您所见,选择器和事件处理程序是不同的,为什么当我触发事件时,捕获它的事件处理程序总是第一个?我建议每个选择器都有自己的事件处理程序,因此不应该混淆。
我使用函数触发器触发了事件
$('.item').click(function(){
$(this).trigger('foo');
});
我错过了什么吗?
jQuery.on 需要一个字符串选择器,你正在传递给它一个 jQuery 对象:
$(document).on('foo', $selector1,
function(){ console.log('blah');
});
您可以通过将 on 语句更改为以下内容来解决此问题:
$(document).on('foo', "#d1", function () {
// do something
});
js小提琴
相关文章:
- 使用jquery.load('pageName')方法时,未从应用程序缓存加载Html页
- 通过javascript清除并更新html5应用程序缓存
- 通过应用程序缓存仅更新一个文件
- 未启动html5应用程序缓存
- Safari-->"应用程序缓存清单的MIME类型不正确:text/plain&”;
- 将整个JavaScript文件文件夹添加到HTML5应用程序缓存中
- Mobile Safari是否清理DOM应用程序缓存?何时清理
- 检测远程资源的应用程序缓存生存能力
- 仅在脱机时使用应用程序缓存
- HTML5应用程序缓存文件存储在客户端的位置
- 获取使用 HTML5 应用程序缓存时下载的资源计数
- 应用程序缓存清单在Firefox中未加载,在Chrome和Safari中正常
- 如何忽略/清除Excel任务窗格应用程序缓存
- 是否在应用程序缓存清单更新时更新所有文件?或者只是改变了的那些
- .json文件的HTML5应用程序缓存
- 如果正在更新应用程序缓存,请阻止ajax调用
- HTML5应用程序缓存,获取客户端中缓存文件的列表
- 如何在HTML5'中存储50MB视频;s应用程序缓存
- 应用程序缓存清单-内容在服务器上更新,但客户端不显示更新的内容
- 更新HTML5离线应用程序缓存的正确方法