Jquery,从函数中的单击访问数据

时间:2012-05-17 00:19:47

标签: jquery jquery-click-event

我有这个jquery代码:

$('.viewmap').click(function () {

    updateMap();

});

因此,当有人点击与viewmap类的链接时,它会运行一个名为updateMap的函数。在updateMap函数中,我创建了一个如下变量:

var mapid = $(this).attr('title');

上面的变量不起作用,它有一个未定义的值,我的问题是在viewmap click函数中如何通过$(this)在updateMap函数中访问当前数据?

3 个答案:

答案 0 :(得分:0)

另一种方法是向updateMap添加一个参数并调用updateMap($(this));而不是updateMap();

答案 1 :(得分:0)

this的引用传递给updateMap函数

$('.viewmap').click(function () {
    updateMap(this);
});

function updateMap(obj) {
    var mapid = $(obj).attr('title');
    ...
}

答案 2 :(得分:0)

有两种推荐方式:

    //If u don't want to do any work before the updateMap call
    $('.viewmap').click(updateMap);

    //If u want do do anything before updateMap call
    $('.viewmap').click(function(e) {
         updateMap.apply(this, arguments);
    });

两种方式都会传递这个以及每个新参数jquery现在和将来添加