2011-02-05 72 views
1

我使用加载一个简单的页面:jquery加载/ get和dom元素不触发...?

$.get('../admin/login.php', function(data) { $('#box-contents').html(data); }); 

现在,这login.php页我有一个输入栏上,并在我的全局JavaScript文件,我有上.change()触发事件 - 但是这ISN” t射击!?

这是因为我已经加载这个文件在页面上,所以jquery不知道它现在在那里?我是否也需要在'login.php'页面中包含我的全局JS文件?

任何帮助,在此,将不胜感激,而不是使用.get(),使用.load()因为它是用于这一目的

+0

确保你的文档准备事件 – hunter 2011-02-05 01:07:17

回答

2

。此外,对于您的.change()事件,您需要在元素存在之后附加它(可以在下面的回调中完成),也可以使用.live()将事件附加到任何当前或未来的DOM元素。

回调方法

$('#box-contents').load('../admin/login.php', function() { 
    $('input').change(function() { 
     //do stuff on change 
    }); 
}); 

活法

$('input').live('change', function() { 
    //do stuff on change 
}); 
+0

感谢您的回复在包装,虽然我在使用.load同样的问题() - 事件不会触发。 – Tim 2011-02-05 01:03:29