我在页面上的图像上附加了一个鼠标悬停功能和相反的鼠标悬停功能,以便在它们悬停时显示更大的版本。这些函数通过 livequery 附加到图像元素。
问题是我的函数似乎已附加到页面上的每个元素,而不仅仅是我希望它们附加到的图像。如果我将 aconsole.log
放入函数中,每当我将鼠标移入或移出页面上的任何元素时,我都会看到它打印出来。
任何想法为什么 livequery 绑定到这么多东西?
这是代码:
Assets.registerPopups = function(selector, context) {
var targets = jQuery(selector, context);
targets.livequery("mouseover", function(e) {
console.log("mouseover e.target", e.target);
});
targets.livequery("mouseout", function(e) {
console.log("mouseout e.target", e.target);
});
};
jQuery(function(){
Assets.registerPopups(".photo, .video, .flash, .h264", "#controller.project_assets.index")
});
注意:这是我继承的一个维护不善的项目,所以我正在处理 jQuery 1.2.6 和 livequery 1.0.2。我正在尝试升级它。