Вы можете использовать one()
следующим образом:
jQuery("#element").one('click', function () {
jQuery('#elementcontainer').load('/js/jquery.script.js?' + (new Date().getTime()));
jQuery('#elementcontainer').load('/js/jquery.script2.js?"' + (new Date().getTime()));
});
.one()
выполняет обработчик события ровно один раз, часть Date()
предназначена длякеш.Я не уверен, что вы хотите .load()
, хотя, если вы намереваетесь просто получить / выполнить сценарии, тогда $.getScript()
более уместно, например:
jQuery("#element").one('click', function () {
jQuery.getScript('/js/jquery.script.js');
jQuery.getScript('/js/jquery.script2.js');
});
$.ajax()
запросов dataType = "script"
(что $.getScript()
) не будет кэшировано .
Если вы хотите кешировать , у вас есть два варианта, вы можете использовать $.ajaxSetup()
один раз (но это влияет на все последующие $.ajax()
или стенография вызовы):
$.ajaxSetup({ cache: false });
Или сделать полную $.ajax()
версию вызова, которая $.getScript()
это сокращение от:
jQuery("#element").one('click', function () {
jQuery.ajax({ url: '/js/jquery.script.js', dataType: 'json', cache: true });
jQuery.ajax({ url: '/js/jquery.script2.js', dataType: 'json', cache: true });
});