0

这就是问题所在:我有一个嵌入了一些 .js 文件的页面,在这个文件中有一些 javascript 函数。现在,如果我使用 jQuery 加载函数将一些内容加载到我的页面中,前面提到的函数不会影响新包含的元素......我该怎么办?

function say_ciao(){
    alert('Ciao!!!');
}

$('#home_button').on('click', function(){
    say_ciao();
});

$('#load_button').on('click', function(){
   $('#loader').load('externalpage.php');
});

http://jsfiddle.net/Ppvpp/

非常感谢您的回答,对不起我的英语!

4

1 回答 1

0

使用事件委托。如果用户单击一个元素,它也会“单击”该元素的所有父元素。您可以使用此行为:

代替

$('#home_button').on('click', function(){

利用:

$('selector for parent of that button').on('click', '#home_button', function() {
  ...
}

问题是,在您调用函数的那一刻,它会将处理程序绑定到它在该点匹配的所有元素。如果您添加一个与该选择器匹配的新元素,它将不会附加处理程序(您将处理程序附加到元素的时刻已经过去)。诀窍是将处理程序附加到父对象(不会动态添加的对象),并且仅在单击的元素与.on(). 请参阅文档

于 2013-07-13T11:40:32.370 回答