Я работаю в Zend-Framework. У меня есть макет примерно такой:ajaxLink и несколько экземпляров jQuery
<html>
<head>
<script>
function myBeforeSendCallbackJsFunc() {$('#content-loading').show();}
function myCompleteCallbackJsFunc() {$('#content-loading').hide();}
</script>
</head>
<body>
<div id="menu">
<?php
echo $this->ajaxLink("<li>MENU 1</li>", '/controllertest/actionindex', array('update' => '#content', 'beforeSend' => 'myBeforeSendCallbackJsFunc();', 'complete' => 'myCompleteCallbackJsFunc()'), array('format' => 'ajax'));
?>
</div>
<div id="content">
</div>
<?php echo $this->jQuery()->enable()->uiEnable(); ?>
</body>
</html>
В этом случае функция ajaxLink работает отлично. Я запускаю МЕНЮ 1, а '#content' получает содержимое '/ controllertest/actionindex'. Но если существует функции ajaxLink внутри '/ controllertest/actionindex' он работает только тогда, когда я включаю снова:
<?php echo $this->jQuery()->enable()->uiEnable(); ?>
Почему?
'uiEnable()' вероятно выводит код обработки событий (не знаком с zend). Если код обработки событий не использует делегирование событий (это лучшее решение), каждый раз, когда вы заменяете элементы, вы должны перегруппировать обработчики событий. Помочь увидеть, как выглядит исходный код браузера – charlietfl