【问题标题】:jquery mouse offset position different in firefox and chromejquery鼠标偏移位置在firefox和chrome中不同
【发布时间】:2011-12-09 22:28:11
【问题描述】:

您好,我有一个使用 jquery 制作的工具提示,它将图像中的 alt 值加载到由 jquery offset() 定位的浮动 div 中。我的代码适用于 Chrome/Safari,但不适用于 Firefox。

在 Chrome 中,工具提示出现在该项目标签右侧的图标上方。 (这也是在模态框中完成的,也许这就是问题所在?

我对此还有些陌生,所以请原谅我的代码。

$("img.more_info, div.option_item_wrap label").live('mouseover', function(e) {
    optionIcon = $(this).closest('div').find('img.more_info');
    optionInfoContent = optionIcon.attr('alt');

    if(optionInfoContent != undefined) {
        findImage = $(this).closest('div').find('span.option_item_image');
        $("body").append('<div id="option_info"><p>' + optionInfoContent + '</p><div id="option_info_tail"></div></div>');
        findImage.clone().prependTo('div#option_info p');
        toolTipHeight = $('div#option_info').height();
        findIconPost = optionIcon.offset();
        topPos = findIconPost.top - (toolTipHeight + 20);
        leftPos = findIconPost.left - 80;

        $('div#option_info').css('top', topPos).css('left', leftPos).fadeIn();
    };
}).live('mouseout', function() {
    $('div#option_info').remove();
});

【问题讨论】:

  • 所以 Firefox 和 Chrome 从偏移量返回不同的结果...偏移了大约 15px,有什么想法吗?
  • console.log( findIconPost ) 是否也返回不同的值?
  • 是的,返回值不同
  • optionIcon[0].offsetLeftoptionIcon[0].offsetTop 怎么样
  • 是的,它们也在 chrome 和 firefox 中返回不同的结果

标签: jquery firefox google-chrome


【解决方案1】:

由于various reasons,不建议使用.live 函数。尝试使用更典型的方法:

$(document).ready(function() {
    $("img.more_info, div.option_item_wrap label").mouseover(function() {
        // Your code
    });
});

这可能会也可能不会解决您的问题,但如果确实如此,那么您遇到的问题与this question 相同。

【讨论】:

    【解决方案2】:
        if($.browser.mozilla){
            topPos = findIconPost.top - (toolTipHeight + 90);
        }
    

    这是我能想到的唯一解决方案,我只是调整了 Firefox 的偏移量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多