jQuery live()不使用click,使用鼠标悬停

时间:2011-07-05 00:41:28

标签: javascript jquery css

我遇到jQuery的live()函数不能与click, mousedown一起使用但与'mouseover,mouseout`一起使用的问题。例如,下面的代码不起作用:

无效:

$("#info_rightclick_top").live('click', function() {
        marker_search_location.setPosition(rightclick_latlng);
});

工作:

$("#info_rightclick_top").live('mouseover', function() {
        $("#info_rightclick").css('background', 'url(' + base_url + '/images/template/icons/map_rightclick_top.png)');
});

我使用的是live()而不是click(),因为在加载文档并动态生成文档时,所选的div不存在。我不明白为什么在click上使用live()事件不起作用?有什么想法吗?

编辑:

上面的代码现在无法正常工作,当我把它放在Google Maps Listener中时...... 为什么会这样?

google.maps.event.addListener(map, "rightclick", function(event) {
                $("#info_rightclick_top").click(function(e) {
                    alert("asd");
                });
            });

2 个答案:

答案 0 :(得分:0)

你有没有尝试过:

$("#info_rightclick_top").live('click', function() {
        $("#info_rightclick").css('background', 'url(' + base_url + '/images/template/icons/map_rightclick_top.png)');
});

答案 1 :(得分:0)

也许是事件冒泡。您应该在实时函数中返回false以防止它。

More details