javascript - Jquery 不绑定(bind)事件 onload

标签 javascript jquery global-variables

(function() {
var bgOn;
$(".ContainingBox").on('hover', function() {
    function() { 
    bgOn = $(this).css("background-color");
            $(this).css("background-color", "#e5fff8");
      }, function() {
      $(this).css("background-color", bgOn);
      }
 });
})();

我想为悬停绑定(bind)一个事件。当我没有将它包装在匿名函数中并使用 .hover() 时,这段代码工作正常。但是,我们要求不要使用全局变量。所以我需要绑定(bind)事件!

这不可能吗?

最佳答案

你的代码有语法错误,特别是on()不接受多个回调等
此外,没有原生的 hover 事件,您应该使用 mouseentermouseleave 代替

$(".ContainingBox").on({
    mouseenter: function() {
        $(this).data('bg', $(this).css("background-color"));
        $(this).css("background-color", "#e5fff8");
    },
    mouseleave: function() {
        $(this).css("background-color", $(this).data('bg'));
    }
});

使用 jQuery 的 data(),而不是单个变量,将记住每个元素的背景颜色

FIDDLE

关于javascript - Jquery 不绑定(bind)事件 onload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34401798/

相关文章:

javascript - 如何将 Twilio 的 2 因素短信身份验证与 Firebase 和 Ionic (Javascript) 集成?

javascript - 通过 Ajax 上传文件是重复的

javascript - 用户生成的过滤器和内容,我怎样才能写得更好

javascript - 简单的 JavaScript 日期选择器错误?

javascript - 如何在函数内部定义全局变量?

javascript - 分页时如何进行正确的搜索

javascript - 在 React Native 中更改从父组件传递下来的 props 数组

javascript - 如何在函数外部返回 this 的结果?

Swift 全局变量线程安全

javascript - 在其他函数中调用局部变量: Javascript