我有一个鼠标悬停功能和相反的mouseout功能附加到我页面上的图像,以便在它们悬停时显示更大的版本。这些函数通过livequery附加到图像元素。
问题是看起来我的功能已附加到页面上的每个元素,而不仅仅是我希望它们附加到的图像。如果我将console.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。我正在尝试升级它。