在jquery或javascript绑定中分配变量
简短的问题,我怎样才能更有效地编写下面的代码,这样我就不会重复地给父变量赋值了 此绑定函数与使用对象文字相同吗在jquery或javascript绑定中分配变量,javascript,jquery,Javascript,Jquery,简短的问题,我怎样才能更有效地编写下面的代码,这样我就不会重复地给父变量赋值了 此绑定函数与使用对象文字相同吗 function bindAuthorPopup() { $(".insight-author").on({ mouseenter: function (event) { var parent = $(this).parent('div').find('.popup-content');
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');
},
});
}
可以将空格分隔的事件类型传递给“on”方法
可以将空格分隔的事件类型传递给“on”方法
您可以这样做:
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编写的内容。您可以这样做:
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编写的内容。mouseenter和mouseleave看起来都一样?您可以创建一个函数,这样您只需执行
var parent=getParent(此操作)代码>。但是您无法避免在每个处理程序中创建parent
,因为这个
可能引用不同的元素。当然,如果在两个处理程序中执行完全相同的操作,只需定义一次函数并将其用于两个事件。mouseenter和mouseleave看起来都一样?您可以创建一个函数,以便只需执行var parent=getParent(此操作)代码>。但是您无法避免在每个处理程序中创建parent
,因为这个
可能引用不同的元素。当然,如果在两个处理程序中执行完全相同的操作,只需定义一次函数并将其用于两个事件。