javascript - 在 jquery on 或 javascript bind 中分配变量

标签 javascript jquery

简短的问题,我怎样才能更有效地编写下面的代码,这样我就不会重复为父变量分配一个新值?

这个绑定(bind)函数和使用对象字面量一样吗?

function bindAuthorPopup() {
        $(".insight-author").on({
            mouseenter: function (event) {
                var parent = $(this).parent('div').find('.popup-content');
                parent.toggleClass('show');
            },
            mouseleave: function (event) {
                var parent = $(this).parent('div').find('.popup-content');
                parent.toggleClass('show');
            },            
        });
    }

最佳答案

你可以这样做:

function bindAuthorPopup() {
    $(".insight-author").each(function() {
        var elem = $(this);
        var parent = elem.parent('div').find('.popup-content');
        elem.on({
            mouseenter: function (event) {
                parent.toggleClass('show');
            },
            mouseleave: function (event) {
                parent.toggleClass('show');
            },
        });       
    });
}

即使回调不同,这仍然有效。如果它们始终相同,那么您可以使用 @sh1da9440 写的内容。

关于javascript - 在 jquery on 或 javascript bind 中分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44684548/

相关文章:

javascript - Jquery 自动完成在自动完成输入之前提交表单

javascript - Jquery 选择器在添加的 dom 元素上没有动态行为

javascript - JQuery getJson 成功函数在单击按钮时触发

c# - 在 asp.net mvc 中打开 .aspx 文件作为 cshtml 的部分 View

javascript - 获取 p :selectOneMenu in JavaScript 的选定值

javascript - dropzone,js上传后如何刷新页面?

javascript - 输入文本值必须以 W、T 或 Z 开头,其他字符不能在键盘上作为第一个字符

javascript - 使用 Fetch API 邮寄表单数据

javascript - 使用 Fancybox2 从多张预览图片开始一个画廊

javascript - Mechanize 和 Python,单击 href ="javascript:void(0);"链接并获取响应