首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >preventDefault()无法处理IE中的某些代码

preventDefault()无法处理IE中的某些代码
EN

Stack Overflow用户
提问于 2011-10-28 17:59:49
回答 1查看 370关注 0票数 0

我的站点上有一些JS,可以防止下面的代码重新加载页面(因为我使用AJAX刷新页面的一部分),但在IE中,它总是重新加载页面。其他的浏览器都没问题。

JS,作为另一个线程中的givein -

代码语言:javascript
复制
$('#attachment-body').delegate("a", "click", function(e){
    e.preventDefault();
});

仍在重新加载页面的链接(位于#attachment-body容器中)-

代码语言:javascript
复制
<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; ?>)">&laquo; 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 &raquo;</a></p>
    </div>
</div>

当呈现它时,这是由上面生成的代码块-

代码语言:javascript
复制
<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)">&laquo; 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 &raquo;</a></p>
    </div>
</div>

preventDefault()在IE中工作,就像我在站点的其他地方使用它一样,所以我只能认为我的代码中有一些地方是不正确的。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-01 00:40:43

我想我现在已经解决了..。

当单击我的图库中的下一个/上一个链接时,它会触发一个JS函数(使用onClick()),该函数首先清除我运行preventDefault()的div。取而代之的是,我把它藏起来了,现在它起作用了。

我不是专家,但它看起来像是IE在触发内联指定的函数之后测试.delegate().live()click()方法(这意味着#attachment-body在它检查它的时候并不存在),而其他浏览器的做法正好相反。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7927786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档