javascript - jquery load/get 和 dom 元素不触发...?

标签 javascript jquery ajax

我正在加载一个简单的页面,使用:

$.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/

相关文章:

javascript - 结果 "join"数组与 php 中的 javascript 中的日期不匹配

javascript - 在 JSF panelgrid 上使用 jQuery onmousedown 和 onmouseup

jQuery,使用 !说 "not selected"

javascript - 通过 ajax 流式传输数据

javascript - AJAX 不返回对象

javascript - 如何使用 jquery 替换变量中的元素并在另一个变量中获取结果

javascript - Vue.js 向组件添加函数

javascript - 正则表达式匹配整数或单词 "other",不区分大小写

jquery - Popup Div隐藏在jscrollpane中

javascript - 增加添加的 <tr> id