链接点击不点火的jQuery事件

时间:2010-02-05 00:31:04

标签: 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>'

当我点击链接时,会弹出一个新页面并且它没有点击我的功能。有什么想法吗?

4 个答案:

答案 0 :(得分:2)

a.mylink不是a#mylink

#是ID选择器,您将mylink设置为类。

答案 1 :(得分:1)

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

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

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

答案 2 :(得分: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,因此您需要使用点。

答案 3 :(得分:0)

事实证明,由于我在运行期间添加了链接,因此我需要重新点击我的点击事件。