0

私はこのjqueryコードを持っています:

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

    updateMap();

});

したがって、誰かがviewmapクラスのリンクをクリックすると、updateMapという関数が実行されます。updateMap関数で、次のような変数を作成します。

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

上記の変数は機能しません。値は未定義です。私の質問は、viewmapクリック関数にあります。updateMap関数の$(this)を介して現在のデータにアクセスするにはどうすればよいですか?

4

3 に答える 3

0

thisupdateMap関数への参照を渡します

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

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

1つの代替方法は、updateMapにパラメーターを追加し、updateMap($(this));を呼び出すことです。updateMap();の代わりに

于 2012-05-17T00:22:57.853 に答える
0

推奨される方法は2つあります。

    //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が現在および将来追加するこれとすべての新しい引数を渡します

于 2012-05-17T03:34:15.540 に答える