jquery点击处理程序,将点击对象的属性传递给函数?

时间:2011-06-22 23:03:00

标签: jquery ajax

我有像

这样的链接
<a href="#" id="foo" class="bar_link">blah</a>

我有很多这些,id值是一个对应于数据库中记录的整数。

我想创建一个单击处理程序,以便在单击该链接时将特定链接的id属性值传递给函数。

这是我尝试过的,但我没有成功。

$(".bar_link").live('click', barDetailsInit($(this).attr('id')));
你怎么看? THX!

3 个答案:

答案 0 :(得分:4)

这将有效

$('.bar_link').live('click', function() { 
    barDetailsInit(this.id);
});

答案 1 :(得分:2)

哎呀,你忘了用匿名方法包装click事件。

$(".bar_link").live('click', function() { barDetailsInit($(this).attr('id')); });

您的版本会将this拉为该线路运行的范围(可能是“窗口”)。

答案 2 :(得分:1)

请改为尝试:

$(".bar_link").live('click', function(event) {

    barDetailsInit($(this).attr('id')));

});

基本上你需要在事件回调中调用你的函数,然后在那时你有上下文并且可以使用所需的参数调用你的函数。