Javascript jQuery';s.on函数不';我似乎不喜欢';加载';事件
我有一个完全由ajax驱动的网站,所以最近我不得不研究委派技术。我了解到.live和.delegate已被弃用,要使用的新函数是.on 如果我将网页动态加载到当前页面的分区(AJAX)中,如下所示: 我需要更多的东西,大致如下:Javascript jQuery';s.on函数不';我似乎不喜欢';加载';事件,javascript,ajax,delegates,jquery,Javascript,Ajax,Delegates,Jquery,我有一个完全由ajax驱动的网站,所以最近我不得不研究委派技术。我了解到.live和.delegate已被弃用,要使用的新函数是.on 如果我将网页动态加载到当前页面的分区(AJAX)中,如下所示: 我需要更多的东西,大致如下: $(document).on("**load**", "#map", function(){ 它显然不起作用,所以我想知道是否会有类似的事情发生。我之所以要问这个问题,是因为在一些页面中,我没有在地图部分只使用“这就是地图”,而是使用了谷歌地图或swf对象或其他东西。
$(document).on("**load**", "#map", function(){
它显然不起作用,所以我想知道是否会有类似的事情发生。我之所以要问这个问题,是因为在一些页面中,我没有在地图部分只使用“这就是地图”,而是使用了谷歌地图或swf对象或其他东西。任何帮助都将不胜感激
如果您只想回答如何将谷歌地图加载到一个尚不存在的部门,这也会很有帮助;) 只有一些事件会在父链上冒泡,并且可以在父对象上使用
.on()
或.live()
或.delegate()
.load()
不是冒泡的事件之一
这是jQuery文档中冒泡事件的部分列表:单击、dblclick、keydown、keypress、keyup、mousedown、mousemove、mouseout、mouseover和mouseup
下面是一段引语:
在所有浏览器中,加载事件都不会冒泡
在特定示例中,可以将事件直接绑定到对象,如下所示:
$("#map").on("load", function(){});
或
当您像这样直接绑定到对象时,不需要冒泡,它将与加载事件一起工作。绑定事件处理程序时,对象
#map
需要存在,因为这种使用.on()
或.load()
的方法无法处理将来创建的对象。创建对象后,必须将事件处理程序附加到对象。如果要在加载响应时执行操作,可以在加载中使用回调函数,而不是在两个单独的脚本和事件绑定中执行,例如
$('#content').load('test.php', function(){
alert("map is loaoded.")
});
您是否尝试了.bind(“单击”、“测试函数”);如果对象尚未创建,我们可以使用哪些代码?(我认为这就是问题所在)。@lijn-正如我的回答所述,load
事件不会向父对象冒泡,因此在目标对象存在之前,您无法将其绑定到某个对象。创建对象后,必须将其绑定到实际对象。
$(document).on("**load**", "#map", function(){
$("#map").on("load", function(){});
$("#map").load(function(){});
$('#content').load('test.php', function(){
alert("map is loaoded.")
});