使用ajax加载部分页面后,如何初始化/附加所有javascript事件
我有一个页面,在页面加载期间调用一些事件绑定器。页面上有一个链接在DIV中加载另一个页面。问题是,在ajax调用期间,绑定的事件对于新创建的元素不可用。请帮忙 下面是我正在使用的javascript示例使用ajax加载部分页面后,如何初始化/附加所有javascript事件,javascript,jquery,Javascript,Jquery,我有一个页面,在页面加载期间调用一些事件绑定器。页面上有一个链接在DIV中加载另一个页面。问题是,在ajax调用期间,绑定的事件对于新创建的元素不可用。请帮忙 下面是我正在使用的javascript示例 //Javascript start addEventListener("load", function(event) { init(); }); function init() { _$("body").addEventListener("touchmove", function(e
//Javascript start
addEventListener("load", function(event) {
init();
});
function init() {
_$("body").addEventListener("touchmove", function(event) {
...
});
window.addEventListener("orientationchange", function(event) {
...
}, false);
document.addEventListener("touchstart", function(event) {
...
});
document.addEventListener("touchend", function(event) {
...
});
}
使用Jquery 1.5时,您应该使用Jquery自己的事件附加程序:
_$(function(){
//Code below will be run on load, jQuery takes care of that for you.
_$("body").on('touchmove', function(event){
...
});
// and so on
});
on()
将侦听器附加到将来创建的元素。您还应该检查事件是否被正确触发或冒泡到您附加它们的对象。您应该使用jQuery自己的事件附加程序:
_$(function(){
//Code below will be run on load, jQuery takes care of that for you.
_$("body").on('touchmove', function(event){
...
});
// and so on
});
on()
将侦听器附加到将来创建的元素。您还应该检查事件是否被正确触发或冒泡到您附加它们的对象。在每次页面加载后初始化事件
因此,在每次页面加载后,在中绑定事件以初始化事件
既然已经在使用jQuery,为什么不使用jQuery事件呢?关于jQuery中事件绑定的更多信息可以在本文中找到:既然您已经在使用jQuery,为什么不使用jQuery事件呢?关于jQuery中事件绑定的更多信息可以在本文中找到:关于窗口和文档之类的其他事件呢。我的应用程序正在使用jQuery 1.5作为1.5,我将恢复到
.live('touchmove',handler)
。但是,一定要更新jQuery以节省一些负载和麻烦。另外,$(窗口)
和$(文档)
应该为您的其余事件提供正确的环境。仍然要确保这些事件是以这种方式触发的,多平台的方式,否则你可能应该尝试另一种方法(即通过插件)。窗口和文档之类的其他事件呢。我的应用程序正在使用jQuery 1.5作为1.5,我将恢复到.live('touchmove',handler)
。但是,一定要更新jQuery以节省一些负载和麻烦。另外,$(窗口)
和$(文档)
应该为您的其余事件提供正确的环境。仍然要确保这些事件是以这种方式触发的,多平台的方式,否则您可能应该尝试不同的方法(即通过插件)。