我正在加载一个简单的页面,使用:
$.get('../admin/login.php', function(data) { $('#box-contents').html(data); });
现在,在这个 login.php
页面上,我有一个输入字段,在我的全局 JavaScript 文件中,我有一个在 .change()
上触发的事件 -但这不是开火!?
这是因为我已经在页面上加载了这个文件所以 jquery 不知道它现在在那里吗?我还需要在“login.php”页面中包含我的全局 JS 文件吗?
如有任何帮助,我们将不胜感激
最佳答案
不使用.get()
,而是使用.load()
因为它是为此目的而设计的。同样对于您的 .change()
事件,您需要在元素存在后附加它(这可以在下面的回调中完成),或者您可以使用 .live()
将事件附加到任何当前或 future 的 DOM 元素。
回调方法
$('#box-contents').load('../admin/login.php', function() {
$('input').change(function() {
//do stuff on change
});
});
活法
$('input').live('change', function() {
//do stuff on change
});
关于javascript - jquery load/get 和 dom 元素不触发...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904395/