我的站点上有一些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中工作,就像我在站点的其他地方使用它一样,所以我只能认为我的代码中有一些地方是不正确的。
谢谢。
发布于 2011-11-01 00:40:43
我想我现在已经解决了..。
当单击我的图库中的下一个/上一个链接时,它会触发一个JS函数(使用onClick()),该函数首先清除我运行preventDefault()的div。取而代之的是,我把它藏起来了,现在它起作用了。
我不是专家,但它看起来像是IE在触发内联指定的函数之后测试.delegate()、.live()和click()方法(这意味着#attachment-body在它检查它的时候并不存在),而其他浏览器的做法正好相反。
https://stackoverflow.com/questions/7927786
复制相似问题