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

Sta*_*erg 3 jquery reset unset

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

这就是脚本的样子 -

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

$('.display').mouseout(function() {
  // unset?
});
Run Code Online (Sandbox Code Playgroud)

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

top*_*pek 6

只需使用CloudZoom的销毁功能:

$('.cloud-zoom').data('zoom').destroy();
Run Code Online (Sandbox Code Playgroud)

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

$('.cloud-zoom').each(function(){
  $(this).data('zoom').destroy();
});
Run Code Online (Sandbox Code Playgroud)


Ian*_*ton 5

对于Star Plugins版本3,它是

$('.cloudzoom').data('CloudZoom').destroy();
Run Code Online (Sandbox Code Playgroud)