Javascript jQuery live()不使用click,使用mouseover
我有一个问题,jQuery的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'
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。编辑了我的原创文章,介绍了我是如何让它工作的。。。但是我不明白为什么它是这样工作的!是的,试过了,在工作代码中更换鼠标盖后,单击
无效。