我的网站上有一些JS应该阻止以下代码重新加载页面(因为我使用AJAX来刷新部分内容),但在IE中它总是重新加载页面。其他浏览器都没问题。
JS,作为另一个线程中的givein -
$('#attachment-body').delegate("a", "click", function(e){
e.preventDefault();
});
仍在重新加载页面的链接(位于#attachment-body
容器内) -
<div id="image-navigation">
<div id="nav-previous" class="nav-previous attachment-nav-previous float-left">
<p><a id="previous-link" href="<?php echo get_permalink($attachments[$previous_position]->ID); ?>" title="<?php echo esc_attr(get_the_title($attachments[$previous_position]->post_title)); ?>" onclick="set_centre_image(<?php echo $attachments[$previous_position]->ID; ?>, <?php echo $previous_position; ?>)">« Previous Image</a></p>
</div>
<div id="nav-next" class="nav-next attachment-nav-next float-right">
<p><a id="next-link" href="<?php echo get_permalink($attachments[$next_position]->ID); ?>" title="<?php echo esc_attr(get_the_title($attachments[$next_position]->post_title)); ?>" onclick="set_centre_image(<?php echo $attachments[$next_position]->ID; ?>, <?php echo $next_position; ?>)">Next Image »</a></p>
</div>
</div>
渲染时,这是上面生成的代码块 -
<div id="image-navigation">
<div id="nav-previous" class="nav-previous attachment-nav-previous float-left">
<p><a id="previous-link" href="http://mydomain.com/firm-news/summer-drinks-at-the-castle/summer-drinks-2011-6/" title="" onclick="set_centre_image(5144, 5)">« Previous Image</a></p>
</div>
<div id="nav-next" class="nav-next attachment-nav-next float-right">
<p><a id="next-link" href="http://mydomain.com/firm-news/summer-drinks-at-the-castle/summer-drinks-2011-8/" title="" onclick="set_centre_image(5146, 7)">Next Image »</a></p>
</div>
</div>
preventDefault()
在IE中工作,因为我在网站的其他区域使用它,所以我只能认为我的代码中的某些内容不对。
感谢。
答案 0 :(得分:0)
我想我现在已经解决了这个问题......
当点击我的图库中的下一个/上一个链接时,它会触发一个JS函数(使用onClick()
),该函数首先清除了我运行preventDefault()
agianst的div。而不是那样,我把它隐藏起来,它现在有效。
我不是专家,但在它触发内联指定的函数(意味着.delegate()
后,它看起来像.live()
,click()
和#attachment-body
方法的IE测试在它正在检查的时候不存在),其他浏览器反过来这样做。