2010-02-05 55 views
-1

我有以下功能:jQuery的事件链接点击不点火

$("a#mylink").click(function(e){ 
      e.preventDefault(); 
      $.ajax({ url: $(this).attr("href") }); 
      $(this).parent().parent().fadeOut("slow"); 
      }); 

被在页面上创建与下面的代码的链接:

'<div style="margin-top: 4px; border: solid 2px #515151; color: #515151; width: 300px;"><span style="padding-left: 4px">' + 
       file.name+ 
       ' </span><div style="float: right; padding-right: 4px;"><a class="mylink" href="remove.aspx?img='+safeUrl+'">Remove</a></div>' + 
       '</div>' 

当我点击链接,一个新页面弹出,它不会打我的功能。有任何想法吗?

回答

2

a.mylinka#mylink

#是ID选择器,并且您已经myLink的设置为一类。

1

您正在将“mylink”放入“类”中,但您的选择器正在查找“id”值。尝试:

$('a.mylink').click(...) 

或者使用“mylink”作为锚标记的“id”值。

1

此链接正在动态添加?听起来像是你需要使用live()

// incidentally, drop the "a" from "a.mylink" it's unnecessary and slows it down 
$(".mylink").live('click', function() { ... }); 

当别人看到(我没有)#xyz相匹配的id,而.xyz匹配class。你的链接上有一个class,所以你需要使用一个点。

0

原来,由于我在运行时添加链接,我需要重新绑定我的点击事件。