在JS对象实例中引用Ajax加载的元素
Referencing Ajax-Loaded Element in JS Object Instance
如何从JavaScript对象实例中引用尚未存在的元素?
var Dynamic = function(el) {
this.$instance = $(el);
}
var dynamicInstance = new Dynamic('#dynamic');
由于#dynamic
元素是通过Ajax加载的,因此在创建dynamicInstance
时脚本看不到它,也不能引用它
如果它有助于解决这个问题,我也可以从对象内部引用元素,而不必在创建元素时将其传入——但我仍然不清楚如何让对象知道该元素。
如果你想保持事物的解耦,你可以接受回调函数作为参数,并在新元素加载并附加到dom 后调用它
function doAjaxCall(callback) {
$.ajax({
success : function(response) {
//Logic to create the new element based on response
callback();
}
});
}
doAjaxCall(function() {
var dynamic = new Dynamic('#dynamic');
});
通过这种方式,您可以保持一切解耦,同时避免ajax调用创建的竞争条件。
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 获取ajax加载的图像的大小
- 分页:如何用AJAX加载第一个页面
- 页面加载之前的jQuery Ajax加载程序
- ajax加载了内容,脚本没有执行
- 如何使用post和ajax加载视图Codeigniter
- $(select).selectmenu('打开')不'如果使用ajax加载页面,则不起作用
- ajax加载()后,包含图表的图像不会重新绘制
- 如果数据为空,Ajax加载不会停止
- 防止用户在jQuery Mobile中ajax加载页面时单击其他位置
- 将内容ajax加载到html弹出窗口中
- 导航栏和AJAX加载
- 用于各个元素的Ajax加载程序
- 通过AJAX加载页面并执行javascript和CSS
- 使用ajax加载页面的一部分
- 从表单中动态生成一个字符串,传递给通过AJAX加载的PHP文件
- 显示全屏Ajax加载程序的最佳方式
- 获取通过AJAX加载的元素
- 如何在rails应用程序中测试AJAX加载的内容
- 如何在Ajax加载新内容时停止JavaScript执行