jQuery:取消设置/删除函数事件的最佳实践?

     2023-02-24     207

关键词:

【中文标题】jQuery:取消设置/删除函数事件的最佳实践?【英文标题】:jQuery: best practice for unsetting / removing function events? 【发布时间】:2011-12-19 00:10:36 【问题描述】:

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

这就是脚本的样子 -

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

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

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

【问题讨论】:

这是一篇关于您的点击功能被滥用的不错的文章。 fuelyourcoding.com/jquery-events-stop-misusing-return-false Jamie:有趣的文章,一定要阅读并应用这些实践。 【参考方案1】:

只需使用 CloudZoom 的销毁功能:

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

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

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

【讨论】:

谢谢,成功了!从创作者那里也得到了同样的回复,但是我认为检查数据是否存在很重要,否则会有很多不必要的警告。 $('.cloud-zoom').each(function() if ($(this).length) $(this).data('zoom').destroy(); );【参考方案2】:

对于 Star Plugins 版本 3,它是

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

【讨论】:

【参考方案3】:

所以你想在鼠标悬停时“删除”缩放的图像?这似乎是一个可访问性问题。另外,如果您失去了对鼠标的跟踪,这意味着如果您稍微摇晃鼠标并意外离开显示屏,缩放功能就会消失?似乎有点笨拙。为什么不点击图片以外的其他地方时出现类似的内容?

【讨论】:

是的,这可能是一个更好的选择。然而插件的原始功能是中止鼠标移出的效果。我唯一的补充是用另一种方法启动它。

在 jQuery 中使用 BIND 或 ON 函数的最佳实践 [重复]

】在jQuery中使用BIND或ON函数的最佳实践[重复]【英文标题】:BestpracticeusingBINDorONfunctionsinjQuery[duplicate]【发布时间】:2013-04-1202:24:15【问题描述】:最近jQuery团队开始推荐使用on而不是bind将事件绑定到DOM。我想知道它们之间是否... 查看详情

循环定时 jquery 函数的最佳实践是啥

】循环定时jquery函数的最佳实践是啥【英文标题】:Whatareyourbestpracticesforloopingtimedjqueryfunction循环定时jquery函数的最佳实践是什么【发布时间】:2013-11-2213:55:26【问题描述】:当我使用jQuery进行循环时,我真的很困惑如何传递值... 查看详情

JQuery 命名空间的最佳实践 + 通用实用程序函数

】JQuery命名空间的最佳实践+通用实用程序函数【英文标题】:BestpracticesforJQuerynamespaces+generalpurposeutilityfunctions【发布时间】:2011-05-3109:46:47【问题描述】:目前有哪些“经验法则”,用于实施JQuery命名空间以托管通用实用程序... 查看详情

Javascript、视图和事件最佳实践

...单击一些AJAX链接来选择插件。每个链接通过使用Javascript函数执行AJAX请求从服务器检索 查看详情

将 lambda 表达式用于事件处理程序的最佳实践

...3-1523:05:20【问题描述】:在发现lambda表达式及其作为匿名函数的用途后,我发现自己编写了很多更琐碎的事件,例如:txtLogin.GotFocus+=(o,e)=>txtLogin.Text=string.Empty;txt 查看详情

避免污染 jQuery 命名空间的最佳插件开发实践?

】避免污染jQuery命名空间的最佳插件开发实践?【英文标题】:BestplugindevelopmentpracticestoavoidpollutingjQuerynamespace?【发布时间】:2010-12-2202:02:32【问题描述】:我创建了一个jQuery插件,允许用户与树进行交互(创建、更新、删除节... 查看详情

模拟 AWS 服务和 Lambda 最佳实践

...1-01-1720:47:04【问题描述】:我正在开发一个简单的AWSlambda函数,该函数由DynamoDBStreams事件触发,并且应该将除REMOVE事件之外的所有记录转发到SQS队列。该功能按预期工作,这并不奇怪。我想编写一个单元测试来测试在发生DELETE事... 查看详情

jQuery 多事件处理程序 - 如何取消?

】jQuery多事件处理程序-如何取消?【英文标题】:jQueryMultipleEventHandlers-HowtoCancel?【发布时间】:2010-10-1317:48:52【问题描述】:我有两个函数在两个不同的时间绑定到一个点击事件(使用jQuery)。他们被解雇的顺序很重要。他们... 查看详情

squirrel状态机-从原理探究到最佳实践

...界的各种事件。比如订单的创建、已支付、发货、收获、取消等等状态、状态之间的控制、触发事件的监听,可以用该框架进行清晰的管理实现。使用状态机来管理对象生命流的好处更多体现在代码的可维护性、可测试性上,明... 查看详情

使用 jQuery,为单选按钮设置 onClick 事件侦听器的最佳方法是啥?

】使用jQuery,为单选按钮设置onClick事件侦听器的最佳方法是啥?【英文标题】:UsingjQuery,whatisthebestwaytosetonClickeventlistenersforradiobuttons?使用jQuery,为单选按钮设置onClick事件侦听器的最佳方法是什么?【发布时间】:2010-09-0723:36:38... 查看详情

最佳实践-设计-状态设计

...不出现这个.2.状态机多个状态进入到一个状态 例子:取消状态. 背景:  订单状态:新建-开始计费-结束行程-已完成(支付成功)每个状态都可以进入取消状态.  解决方案:  设置一个取消状态. 新需求,产品需求:&... 查看详情

响应 keyDown 事件的最佳实践

】响应keyDown事件的最佳实践【英文标题】:BestpracticeforrespondingtokeyDownevent【发布时间】:2012-06-1020:28:17【问题描述】:我正在编写我的第一个Cocoa应用程序。这是一个简单的实用程序——一个计算器。我已经完成了所有工作,我... 查看详情

jQuery 插件模板 - 最佳实践、约定、性能和内存影响

】jQuery插件模板-最佳实践、约定、性能和内存影响【英文标题】:jQueryplugintemplate-bestpractice,convention,performanceandmemoryimpact【发布时间】:2011-08-2405:23:17【问题描述】:我已经开始编写一些jQuery插件,并认为使用jQuery插件模板设置... 查看详情

如何从 jQuery 中的“滚动”事件中取消绑定所有先前添加的事件? [复制]

】如何从jQuery中的“滚动”事件中取消绑定所有先前添加的事件?[复制]【英文标题】:Howtounbindallpreviouslyaddedeventsfromthe\'scroll\'eventinjQuery?[duplicate]【发布时间】:2017-08-2009:36:40【问题描述】:如何解除之前添加到scroll事件的所... 查看详情

设置应该是 Python 列表的参数的默认值的最佳实践?

】设置应该是Python列表的参数的默认值的最佳实践?【英文标题】:Bestpracticeforsettingthedefaultvalueofaparameterthat\'ssupposedtobealistinPython?【发布时间】:2012-03-2013:16:19【问题描述】:我有一个将列表作为参数的Python函数。如果我将参... 查看详情

在何处添加事件侦听器的最佳实践

】在何处添加事件侦听器的最佳实践【英文标题】:Bestpracticesforwheretoaddeventlisteners【发布时间】:2014-11-2402:51:25【问题描述】:在我的页面上,用户单击一个元素以对其进行编辑。为此,我将editable类分配给所有此类元素。我应... 查看详情

使用 jQuery 解析远程内容的最佳实践是啥?

】使用jQuery解析远程内容的最佳实践是啥?【英文标题】:WhatisthebestpracticeforparsingremotecontentwithjQuery?使用jQuery解析远程内容的最佳实践是什么?【发布时间】:2010-11-0507:31:41【问题描述】:在调用jQueryajax来检索整个XHTML文档之... 查看详情

添加事件监听器的最佳实践(javascript、html)

】添加事件监听器的最佳实践(javascript、html)【英文标题】:bestpracticeonaddingeventlisteners(javascript,html)【发布时间】:2011-10-1900:04:12【问题描述】:我知道我可能在这里要求月亮,但我正在寻找一些经验丰富的意见,以了解在js... 查看详情