0

我有这个 jquery 代码:

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

    updateMap();

});

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

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

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

4

3 回答 3

0

传递this对 updateMap 函数的引用

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

function updateMap(obj) {
    var mapid = $(obj).attr('title');
    ...
}
于 2012-05-17T00:25:49.873 回答
0

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

于 2012-05-17T00:22:57.853 回答
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);
    });

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

于 2012-05-17T03:34:15.540 回答