javascript - 单击时弹出重复的窗口

标签 javascript jquery

我有这个JS:

  $(document).ready(function() {
       $("ul.social").hide();
       $("span.link").each(function(i){
         $(this).mouseover(function(){
           $("ul.social").eq(i).show("fast", function(){
             $("ul.social li a").click(function(){
               var link = this.href;
               window.open(link, " ", "height=350,width=600");
             });
           });
         });
       });
     });

还有这个 HTML:

<ul class="social">
    <li><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=<?php the_permalink() ?>" title="Compartilhar <?php the_title(); ?> no LinkedIn" target="_blank"><img src="<?php bloginfo('template_url'); ?>/img/in.png" alt="" width="24" /></a></li>
    <li><a href="https://plus.google.com/share?url=<?php the_permalink() ?>" title="Compartilhar <?php the_title(); ?> no Google Plus" target="_blank"><img src="<?php bloginfo('template_url'); ?>/img/gp.png" alt="" width="24" /></a></li>
    <li><a href="http://www.facebook.com/sharer.php?u=<?php the_permalink() ?>" title="Compartilhar <?php the_title(); ?> no Facebook" target="_blank"><img src="<?php bloginfo('template_url'); ?>/img/fb.png" alt="" width="24" /></a></li>
    <li><a href="http://twitter.com/share?url=<?php the_permalink() ?>&amp;text=<?php the_title(); ?>&amp;via=chocoladesign" title="Compartilhar <?php the_title(); ?> no Twitter" target="_blank"><img src="<?php bloginfo('template_url'); ?>/img/tw.png" alt="" width="24" /></a></li>
</ul>

但是,每当我点击(ul.social li a)时,他就会复制该窗口。其中一个以 600x350 大小打开,另一个以全屏显示。

为什么会发生这种情况?

最佳答案

不要在 moseover 事件中附加 click 事件,每次 mose over 时都会得到重复的 click 事件。

$("ul.social li a").click 是错误的,您将点击附加到每个链接,而不仅仅是 $("ul.social").eq (一)

$(document).ready(function() {
    $("ul.social li a").click(function(e){ 
        e.preventDefault();
        var link = this.href;
        window.open(link, " ", "height=350,width=600");
     });
       $("ul.social").hide();
       $("span.link").each(function(i){
         $(this).mouseover(function(){
           $("ul.social").eq(i).show("fast", function(){

           });
         });
       });
     });

关于javascript - 单击时弹出重复的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22110070/

相关文章:

jquery - 使用 jQuery 和 CSS 在加载网页时显示元素

javascript - 在 div 单击时显示和隐藏弹出窗口

javascript - 选中时从数组中删除值

javascript - 使用事件处理程序更改背景颜色

javascript - 通过使用 jquery 在多个 anchor 中单击 anchor 来获取 href 值

javascript - 将 jQuery 插件包装在 Polymer 1.x 元素内

javascript - 通过javascript通过ajax请求获取页面的完整html源代码

javascript - 使用地理定位在 div 中显示城市名称

javascript - 如何使用 Javascript 在 textarea 中添加按钮?

javascript - 缩放后如何使div居中