// Elements with the class "userinfo" will get a hover-card.
// Note that this elements does need a href attribute which links to
// a valid profile url
- $("body").on("mouseover", ".userinfo", function(e) {
+ $("body").on("mouseover", ".userinfo, .wall-item-responses a, .wall-item-bottom .mention a", function(e) {
var timeNow = new Date().getTime();
removeAllhoverCards(e,timeNow);
var hoverCardData = false;
// Take link href attribute as link to the profile
var profileurl = hrefAttr;
// the url to get the contact and template data
- var url = baseurl + "/frio_hovercard";
+ var url = baseurl + "/hovercard";
// store the title in an other data attribute beause bootstrap
// popover destroys the title.attribute. We can restore it later
var title = targetElement.attr("title");
targetElement.attr({"data-orig-title": title, title: ""});
+ // if the device is a mobile open the hover card by click and not by hover
+ if(typeof is_mobile != "undefined") {
+ targetElement[0].removeAttribute("href");
+ var hctrigger = 'click';
+ } else {
+ var hctrigger = 'manual';
+ };
+
// Timeoute until the hover-card does appear
setTimeout(function(){
if(targetElement.is(":hover") && parseInt(targetElement.attr('data-awaiting-hover-card'),10) == timeNow) {
}
return "top";
},
- trigger: 'manual',
+ trigger: hctrigger,
template: '<div class="popover hovercard" data-card-created="' + timeNow + '"><div class="arrow"></div><div class="popover-content hovercard-content"></div></div>',
content: data
}).popover('show');
}
}
}, 500);
- }).on("mouseleave", ".userinfo", function(e) { // action when mouse leaves the hover-card
+ }).on("mouseleave", ".userinfo, .wall-item-responses a, .wall-item-bottom .mention a", function(e) { // action when mouse leaves the hover-card
var timeNow = new Date().getTime();
// copy the original title to the title atribute
var title = $(this).attr("data-orig-title");
// hover cards should be removed very easily, e.g. when any of these events happen
$('body').on("mouseleave touchstart scroll click dblclick mousedown mouseup submit keydown keypress keyup", function(e){
- var timeNow = new Date().getTime();
- removeAllhoverCards(e,timeNow);
+ // remove hover card only for desktiop user, since on mobile we openen the hovercards
+ // by click event insteadof hover
+ if(typeof is_mobile == "undefined") {
+ var timeNow = new Date().getTime();
+ removeAllhoverCards(e,timeNow);
+ };
});
// if we're hovering a hover card, give it a class, so we don't remove it