Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменить функцию не изменив её имени средствами Ajax (https://javascript.ru/forum/dom-window/46885-izmenit-funkciyu-ne-izmeniv-ejo-imeni-sredstvami-ajax.html)

Nevrali 28.04.2014 13:39

Изменить функцию не изменив её имени средствами Ajax
 
Есть три страницы

============================================ index.html
<!DOCTYPE html>
<html >
<head>
  <title>Ajax</title>
  <script type='text/javascript' src='js/lib/jquery/1.7.1-jquery.min.js'></script> 

</head>
<body>

<a id="a1" href="#" class="odin" onclick="odindva()">кнопка</a> 
<div id='content'><h1>один</h1> 
<script>
$(document).ready(function() { 
   $('.odin').click(function() {$.ajax({url: "dva.php",cache: false,success: function(html){  $("#content").html(html);}}); });
     });
</script>
</div>
</body>
</html>


И две подгружаемые

============================================ 2стр. odin.html
<script>
document.getElementById("a1").className="odin";
</script>  
<h1>один</h1>
<script>
$(document).ready(function() { 
   $('.odin').click(function() {$.ajax({url: "dva.php",cache: false,success: function(html){  $("#content").html(html);}}); });
     });
</script>

============================================ 3стр. dva.html
<script>
document.getElementById("a1").className="dva";
</script> 
<h1>два</h1>
<script>
$(document).ready(function() { 
$('.dva').click(function() {$.ajax({url: "odin.php",cache: false,success: function(html){  $("#content").html(html);}}); });
     });
</script>


Сначала скрипт работает корректно, а потом я замечаю, что он прогрессирует после каждого нажатия. Увеличивается количество операций

Вопрос
  1. Где моя ошибка?
  1. Как сделать так, что бы работал только тот скрипт, который подгрузился Ajax_ом без прогрессии.

M-ka 28.04.2014 16:14

На клик запускать отдельный обработчик, а его переопределять уже по ответу с аякса.... Не помню, как эта технология правильно называется (вообще названия тех и паттернов не помню)


Часовой пояс GMT +3, время: 04:52.