我遇到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");
});
});
答案 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以防止它。