简短的问题,我怎样才能更有效地编写下面的代码,这样我就不会重复为父变量赋一个新值?
此绑定功能是否与使用对象文字相同?
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');
},
});
}
答案 0 :(得分:3)
您可以这样做:
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所写的内容。
答案 1 :(得分:1)
您可以将以空格分隔的事件类型传递给“on”方法。
function bindAuthorPopup() {
$(".insight-author").on('mouseenter mouseleave', function (event) {
var parent = $(this).parent('div').find('.popup-content');
parent.toggleClass('show');
});
}