JQuery загрузить лучшие практики - PullRequest
0 голосов
/ 01 апреля 2012

У меня есть вопрос о наилучшей практике загрузки jQuery.Представьте себе следующую ситуацию:

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

Код работает нормально, метод загрузки выполняется, но теперь загруженный контент не может быть доступен с помощью плагина jQuery.Я решил так:

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

Мой вопрос прост, есть ли лучший способ решить эту ситуацию?

Ответы [ 2 ]

2 голосов
/ 01 апреля 2012

В идеале вам нужно нацелить parent элемента с помощью id="div" ... скажем, контейнер <div id="wrap"> для этого примера.Затем используйте .on(), используя контейнер parent в качестве селектора, например:

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

, тогда загруженный контент может быть доступен для вашего другого плагина.

Этот формат использования .on() на самом делезаменен .live(), начиная с jQuery v1.7.x.

В конце концов, вы также можете сделать

$("body").on("click", "#div", function() {
 $('#result').load('test.html');
});
2 голосов
/ 01 апреля 2012

Вы делаете это правильно.Ваш код для вызова метода плагина будет выполняться только после завершения загрузки в div.Итак, вы готовы.

Возможно, вы можете обернуть весь свой код внутри документа. Чтобы убедиться, что он будет выполнен только после завершения загрузки dom.

...