2013-02-17 50 views
-1

多个环节我都用我的页面上的同一个类中的多个环节:相同类别

<a class="tweetAnswer" rel="link1" href="">Answer</a> 

我想,当有人点击这些链接之一,以显示与jQuery警报。不幸的是,它没有在Firefox上显示任何内容...

$('a.tweetAnswer').live("click", function(){ 
    event.preventDefault(); 
    alert($(this).attr('rel')); 
}); 

任何想法?

+1

是你使用jQuery 1.9? 'live'方法自jQuery 1.7被弃用,并且在jQuery 1.9中被移除,而是使用'on'方法。 – undefined 2013-02-17 14:48:25

回答

0

live自1.7以来已被弃用,并在版本1.9中被删除。尝试:

$('a.tweetAnswer').on("click", function(event){ 
    event.preventDefault(); 
    alert($(this).attr('rel')); 
}); 

编辑:很好的捕获由adeneo缺乏事件参数。

这里是一个工作jsfiddle

+0

感谢您的回答,但它不起作用。即使在Safari上... – JeremyW 2013-02-17 14:54:57

+0

@JeremyWagemans - 检查我添加的jsfiddle链接。你能详细说明它是如何工作的吗? – ethorn10 2013-02-17 14:57:21

+0

是的,我看到了,但它仍然没有工作。这太疯狂了......在webkit上工作得很好,FF上没有任何东西。 'repondre'链接:http://dev2.prysmradio.com/index.php – JeremyW 2013-02-17 15:12:13

0

首先,没有事件参数:

$('a.tweetAnswer').live("click", function(event){ 
    event.preventDefault(); 
    alert($(this).attr('rel')); 
}); 

其次,你应该用在()中的jQuery 1.7或更高版本:

$(document).on('click', 'a.tweetAnswer', function(event){ 
    event.preventDefault(); 
    alert($(this).attr('rel')); 
}); 
+0

感谢您的回答。在Safari/Chrome上工作得很好,但在FF上没有任何问题。它会来自别的imo。 – JeremyW 2013-02-17 15:13:50

+0

@JeremyWagemans - 这两个例子都是委托给动态元素的事件处理程序,并没有什么特别的,它们都非常基本,应该适用于所有浏览器,尤其是firefox,这些很少遇到这种事件处理程序的问题。 – adeneo 2013-02-17 15:42:22

相关问题