gpt4 book ai didi

jquery - 如何在 jQuery/javascript 中保留子元素的绑定(bind)函数

转载 作者:行者123 更新时间:2023-12-01 08:22:20 25 4
gpt4 key购买 nike

我有一些标签想要绑定(bind)到 jQuery 日期选择器中的函数。但是,jQuery 自动将另一个函数绑定(bind)到父级 (.ui-datepicker-inline) div 的 mouseovermouseout 事件。

我想在某些情况下覆盖此功能,但当发生其他事件时,恢复为默认功能。我尝试将 mouseover 绑定(bind)到它的父 div (hasDatepicker),效果很好。但是,当我解除父级的绑定(bind)时,子级的旧绑定(bind)功能也会停止工作。为什么是这样?有什么办法可以避免这种情况吗?我不在乎子级是否保留其绑定(bind)功能,只要父级的绑定(bind)随后执行它的操作即可。我也不想在解除父级绑定(bind)时失去子级功能。

我有一个 jQuery 元素 datePicker ,据我从 jQuery UI 可以看出,它是具有原始绑定(bind) (.ui-datepicker-inline) 的元素代码。

// This binds my function, occurring after datePicker's bound function,
// and works fine.
datePicker.parent().bind('mouseover', hoverWeek) // hoverWeek is a function(event)

/* ... */

// This unbind's datePicker as well as datePicker.parent()
datePicker.parent().unbind('mouseover');

我可以保存绑定(bind)的函数并在需要时放回去吗?我不应该认为我必须这么做,但如果我这么做了,我该怎么做呢?我可以只说 datePicker.bind('mouseover') 来获取绑定(bind)到它的函数吗?

[更新]有一些问题:主要是我有一些冲突的代码,但 bubbling effect 也存在一些问题。 。下面列出的解决方案都很好,为了将来引用,这里是另一个有效的解决方案:http://jsfiddle.net/redEvo/7QpDx/

最佳答案

您可以仅将您的函数传递给取消绑定(bind)调用:

datePicker.parent().unbind('mouseover', hoverWeek);

关于jquery - 如何在 jQuery/javascript 中保留子元素的绑定(bind)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6627987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com