На данный момент у меня есть целая группа html + php-файлов с функцией $ (document) .ready в каждой.Jamescript и jquery Пространства имен
Я считаю, что путь к тому, чтобы собрать как можно больше моего JS в один файл, и что мне нужно будет использовать эти функции.
Так что, если у меня есть файл PHP с именем product_edit, то я хотел бы сделать что-то вроде следующего:
<script type="text/javascript">
$(document).ready(function(){
productActions.documentReady();
});
</script>
, а затем в моем единственном файле site_scripts, я мог бы сделать что-то вроде этого:
var productActions = {
documentReady: function() {
$('#date').change(function() {
someGlobalFunction();
productActions.getTerms();
});
$('#product_id').change(function() {
productActions.getTerms();
});
},
getTerms: function() {
//do something here
}
};
Во-первых: Я иду об этом в правильном направлении? Является ли эта общая методология на правильном пути ... или это бессмыслица?
Во-вторых: кажется, что мой файл site_scripts получает кеширование, поэтому я должен очищать кеш браузера каждый раз, когда я вношу в него какие-либо изменения. Есть ли какие-то быстрые пути?
Я не знаю недостатки (если таковые имеются), но вы могли бы: 1) передать функцию непосредственно в '.ready' и 2) для вашей проблемы кеширования, просто добавьте, например, '? v2' в URL-адрес файла JavaScript, чтобы обмануть браузер для его повторной установки. – pimvdb