我的页面中有一次跨度。我使用了悬停功能,在鼠标悬停时显示弹出窗口,并在鼠标移开后自动隐藏该弹出窗口。下面是我的代码,它工作得很好。
我需要的是,如果我点击跨度,弹出窗口应该冻结,只有当我关闭弹出窗口,它必须关闭。但是,悬停也应该是有效的。我需要两个悬停和点击功能,以同时工作..
我的悬停代码:
$('td#' + parentElement).find('span.likes').hover(function (e) {
topPos = e.pageY - ($('div#pop-up').height()) - 35;
leftPos = e.pageX - ($('div#pop-up').width()) - 30;
if (leftPos < 0) {
leftPos = 10;
}
GetLikesList(json_row.value.task_id);
$('div#pop-up').show().css('top', topPos).css('left', leftPos).appendTo('body');
$('#mopopuptitle').html('People who liked this Request');
}, function () {
$('div#pop-up').hide();
});我的点击代码:
$('#' + parentElement).find('span.likes').click(function (e) {
topPos = e.pageY - ($('div#pop-up').height()) - 35;
leftPos = e.pageX - ($('div#pop-up').width()) - 30;
if (leftPos < 0) {
leftPos = 10;
}
GetLikesList(json_row.value.task_id);
$('div#pop-up').show().css('top', topPos).css('left', leftPos).appendTo('body');
$('#mopopuptitle').html('People who liked this Request');
e.stopPropagation();
})如何将两者集成?
发布于 2012-10-08 14:22:13
您可以使用.on()绑定多个事件:
$('#' + parentElement).find('span.likes').on('mouseenter click', function(e) {
topPos = e.pageY - ($('div#pop-up').height()) - 35;
leftPos = e.pageX - ($('div#pop-up').width()) - 30;
if (leftPos < 0) {
leftPos = 10;
}
GetLikesList(json_row.value.task_id);
$('div#pop-up').show().css({
top: topPos,
left: leftPos
}).appendTo('body');
$('#mopopuptitle').html('People who liked this Request');
}).on('mouseleave', function () {
$('div#pop-up').hide();
});尽管我看不出绑定两者有多大用处,除非您想运行两次处理程序。要单击该元素,必须将鼠标悬停在其上。
https://stackoverflow.com/questions/12776196
复制相似问题