jQuery加载最佳实践

时间:2012-04-01 19:45:09

标签: jquery jquery-load

我有一个关于jQuery加载最佳实践的问题。想象一下以下情况:

$("#div").on('click', function() {
$('#result').load('test.html');
});

代码工作正常,load方法执行,但现在jQuery插件无法访问加载的内容。我这样解决了:

$("#div").on('click', function() {
$('#result').load('test.html', function(){
$('.element').plugin();
});
});

我的问题很简单,有没有更好的方法来解决这种情况?

2 个答案:

答案 0 :(得分:2)

你正在以正确的方式做到这一点。调用插件方法的代码只有在加载完成到div后才会执行。所以你很高兴。

可能你可以将所有代码包装在document.ready中,以确保只有在dom完成加载后才能执行。

$(function(){
     $("#div").on('click', function() {
        $('#result').load('test.html', function(){
           $('.element').plugin();
         });
      });    
});

答案 1 :(得分:2)

理想情况下,您需要使用parent定位元素的id="div" ...让我们为此示例说一个容器<div id="wrap">。然后使用.on()容器作为选择器使用parent

$("#wrap").on("click", "#div", function() {
 $('#result').load('test.html');
});

然后您的其他插件可以访问加载的内容。

自jQuery v1.7.x起,这种使用.on()的格式实际上取代了.live()

最终,您也可以

$("body").on("click", "#div", function() {
 $('#result').load('test.html');
});