Javascript jQuery live()不使用click,使用mouseover

Javascript jQuery live()不使用click,使用mouseover,javascript,jquery,css,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'

我有一个问题,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)');
});
工作:

$("#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
不存在,而是动态生成的。我不明白为什么在
live()
上使用
click
事件不起作用?有什么想法吗

编辑: 当我把上面的代码放在谷歌地图监听器中时,它就可以正常工作了为什么会这样?

google.maps.event.addListener(map, "rightclick", function(event) {
                $("#info_rightclick_top").click(function(e) {
                    alert("asd");
                });
            });
您是否尝试过:

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

可能是因为事件在冒泡。您应该在live函数中返回false以防止它


函数中有不同的代码,因此单击处理程序中的代码可能存在问题。尝试输入警报以查看是否正在调用该处理程序。user1222119:添加到
alert()
中,但未调用该处理程序。。。不确定发生了什么下一个可能的问题是您的
div
被其他内容覆盖,无法单击。使用特定于浏览器的工具(例如Firebug),使用选择工具(放大类/鼠标指针)并将鼠标悬停在新div上,查看是否有什么东西阻碍了它。如果这仍然不能解决问题,您可能需要发布更多的代码。似乎没有任何东西阻碍它。尝试使用Chrome的Inspector和Firefox的Firebug。编辑了我的原创文章,介绍了我是如何让它工作的。。。但是我不明白为什么它是这样工作的!是的,试过了,在工作代码中更换鼠标盖后,
单击
无效。