【问题标题】:jQuery and IE7 cross-browser bugjQuery 和 IE7 跨浏览器错误
【发布时间】:2011-12-28 14:34:50
【问题描述】:
$("body").delegate('area[id=area_kontakt]','mouseover mouseleave', function(e){
if (e.type == 'mouseover') {
    $("#kontakt_tip").css('display','block');
} else {
    $("#kontakt_tip").css('display','none');
}
});

为什么这段代码在 IE7 中不起作用?在 IE8、FF、Ch 中一切正常。有什么帮助吗?

问候。

【问题讨论】:

  • 试试把'area[id=area_kontakt]'改成'area[id="area_kontakt"]' -- IE有时候真的很吊。
  • 为什么不使用#area_kontakt 而不是显式的id 属性选择器?
  • insted of area[id=area_kontakt],为什么我们不能像这样使用“#area_kontakt”?这不是解决方案,只是怀疑......你使用多个同名的 id 吗?
  • 没有。 “area_kontakt”元素是独一无二的!

标签: jquery html css cross-browser internet-explorer-7


【解决方案1】:

检查了您的网站后,我找到了问题的原因。

没有看到该网站,没有人可以解决这个问题,因为问题与您在问题中提供的代码无关。

functions.js,你有几次(我已经把它删掉了):

xxx.modal({
    //..
    top: 50, //<---
    /*onOpen: function (xxx) {
        //..
    }*/
});

问题在于结尾的逗号; it breaks IE7 and older.

【讨论】:

  • ..如果您没有多个具有相同 id 的元素,请忽略我 :)
  • 哦,好吧。您是否有演示问题的实时页面?或者你能做一个jsFiddleJS Bin 演示吗?
【解决方案2】:

我很确定这是因为 IE7 不支持属性选择器:[id=area_kontakt],您必须使用 IE7 的类名/Id 名称才能在 jQuery 中支持它。

【讨论】:

    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 2011-03-30
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    相关资源
    最近更新 更多