jQuery:取消/删除功能事件的最佳实践?

时间:2011-10-31 19:25:12

标签: jquery reset unset

我正在使用jQuery插件Cloud Zoom,并且我已经更改了初始化,以便在用户点击“放大按钮”而不是悬停时缩放图像。我不确定当用户离开图像时如何取消/删除此事件,我很想知道最佳做法是什么。

这是脚本的样子 -

$('.magnify').click(function() {
    $('.cloud-zoom').CloudZoom({ showTitle: false });
    return false;
});

$('.display').mouseout(function() {
  // unset?
});

(“。display”是一个容器) 绑定/取消绑定是否必要?它似乎可以解决问题,但我希望有一个更简单的方法,因为它只是一个函数。

3 个答案:

答案 0 :(得分:6)

只需使用CloudZoom的销毁功能:

$('.cloud-zoom').data('zoom').destroy();

请注意,如果您有多次使用,这只会破坏第一次出现:

$('.cloud-zoom').each(function(){
  $(this).data('zoom').destroy();
});

答案 1 :(得分:5)

对于Star Plugins版本3,它是

$('.cloudzoom').data('CloudZoom').destroy();

答案 2 :(得分:0)

因此,您在鼠标移开时尝试“删除”缩放的图像?这似乎是一个可访问性问题。此外,如果您丢失了鼠标的轨迹,那么如果您稍微摇动鼠标并意外地离开显示器,则意味着缩放将会离开?看起来有点笨重。为什么不点击图像旁边的其他地方?