1

我有以下代码,当一个人单击链接时,此代码运行。但是我还需要在该人访问页面以加载默认地址时首先加载它。所以在这段代码之后我有 $('.viewmap').click();

问题是当我这样做时,会为每个带有类视图的链接运行单击操作。是否可以使用默认值为 0 的 mapid 运行此代码一次,以便我可以重用此函数来默认加载地图,然后如果有人单击带有 viewmap 类的链接之一?还是我必须创建单独的功能?一个用于默认加载,一个用于单击操作?

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

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

    $.ajax({
        cache:false,
        url:'path/to/script'
        dataType:'json',
        success: function(data) {

            $('#currmap').gMap(
                    {
                        latitude   : data.lat,
                        longitude  : data.lon,
                        address    : data.address,
                        maptype    : 'ROADMAP',
                        zoom       : 8,
                        markers:[{
                                     latitude    : data.lat,
                                     longitude   : data.lon,
                                     address     : data.address,
                                     html        : data.display
                                 }]

                    }

            );

        }

    });

});
4

2 回答 2

1

尝试这个:

$('.viewmap:first').click();
于 2012-04-30T19:54:30.637 回答
1

尝试将处理代码放在它自己的函数中。然后,您可以在页面加载时直接调用它,也可以在元素上发生单击事件时调用它。尝试这个:

function updateMap() {
    var id = $('#id').text();
    var mapid = $(".viewmap").attr('title');

    $.ajax({
        cache:false,
        url:'path/to/script'
        dataType:'json',
        success: function(data) {    
            $('#currmap').gMap({
                latitude   : data.lat,
                longitude  : data.lon,
                address    : data.address,
                maptype    : 'ROADMAP',
                zoom       : 8,
                markers:[{
                    latitude    : data.lat,
                    longitude   : data.lon,
                    address     : data.address,
                    html        : data.display
                }]
            });
        }
    });
}

updateMap();
$('.viewmap').click(updateMap);

这样就避免了必须手动触发导致问题的元素上的单击事件。

于 2012-04-30T19:54:58.490 回答