0

朋友们,我需要一些帮助来解决 IE 7 问题。这是我的代码。

<div id="thumb-slider-tabs">
<ul class="ibm-tabs">
<li class="active"><a href="#slide1" rel="0" class="no-mobile show-tab"><img
src="/i/slider/featured_icon_1.jpg" alt=""/></a><span class="icon-overlay"></span><span>Announcement</span></li>

这就是我使用以下内容定位我的 href 的方式:

dojo.query('#thumb-slider-tabs a').onclick(function(event){
var test = dojo.attr(event.currentTarget, 'rel');
alert(test);
switchTabs(dojo.attr(event.currentTarget, 'rel'), this.parentNode);
sliderClick = true;
});

IE 7 无法识别 onclick 并且不会发出警报,它也不会在测试中显示 rel 属性。

任何建议请让我知道我可以做些什么来解决 IE 7 中的这个问题。这适用于 Chrome、Safari、Firefox、IE 8 和 9。我需要让它在 IE 7 上运行。

4

1 回答 1

0

我有两个 ID为 thumb-slider-tabs 的元素,这是 xhtml 违规。在 IE 中,dojo 仅找到第一个节点并忽略第二个节点,因此 dojo.query('#thumb-slider-tabs a') 以页面上的前 3 个链接为目标,而不是像 firefox、chrome 和 safari 中的其他链接。最重要的是,我的“onclick”处理程序从未附加到实际节点,因此不会在选项卡上触发点击。

var anchors = dojo.query('[id="thumb-slider-tabs"] a').forEach(function(element){
        dojo.connect(element, 'onclick', function(ev){
            dojo.stopEvent(ev);
            switchTabs( dojo.attr(element, 'rel'), element.parentNode);
            sliderClick = true;
            console.log(sliderClick + " " + "sliderClick value");
        });
    });

我对我的代码进行了此更改,当我单击选项卡时会触发 onclick 事件处理程序。

于 2012-10-08T18:06:12.520 回答