Я использую каркас веб-приложения (Symfony 1.3.6), который следует шаблону MVC.
Уровень представления состоит из декоратора шаблонов.Файл шаблона может также включать другие шаблоны - это то, что вызывает у меня вопрос.
Предполагается, что есть страница (давайте назовем ее «домашней страницей»), которая состоит из нескольких шаблонов - (кодбыл реорганизован, так что «суб-шаблоны» могут быть использованы на других страницах.
В результате рефакторинга небольшие шаблоны - которые используются основным шаблоном - («домашняя страница» в нашем примере), необходимо содержать код, связанный с jQuery.
Допустим, шаблон домашней страницы использует 2 'суб-шаблона:
предположим, что шаблон A состоит из следующего фрагмента:
<div id="field1">This is field 1</div>
<script type="text/javascript">
$(document).ready(function(){
$('#field1').click(function(){
alert('Field 1 clicked!');
});
</div>
</script>
предположим, что шаблон B состоит из следующего фрагмента:
<div id="field2">This is field 2</div>
<script type="text/javascript">
$(document).ready(function(){
$('#field2').click(function(){
alert('Field 2 clicked!');
});
</div>
</script>
Теперь шаблон домашней страницы выглядит следующим образом:this:
<html>
<head>
<title>Multiple jQuery snippet test</title>
<script src="path_to_jquery"></script>
</head>
<body>
<div>include_template('template A')</div>
<div>include_template('template B')</div>
</body>
</html>
Я пробовал это - и, к моему удивлению, это сработало в том, что на объединенной, последней странице ('homepage) был только один $ (document) .ready ().
Я не уверен, что мой Бrowser (Firefox) или веб-фреймворк (Symfony) проделали некоторую «зачистку» за кулисами.
Поэтому мой вопрос заключается в том, как лучше всего перейти, если вы хотите реорганизовать функциональность jQuery вмаленькие многократно используемые шаблоны, которые можно использовать для обеспечения одинаковой функциональности на разных страницах?
Кстати, я надеюсь, что никто не предлагает написать плагин jQuery, поскольку это ТАК не то, о чем я говорю.