Я пытаюсь выполнить эту задачу с помощью MooTools.
Описание:
У меня три кнопки.Две кнопки снаружи myDiv
и одна кнопка внутри myDiv
.Нажатие на любую из этих кнопок инициирует запрос AJAX (передавая переменную button
в "button.php") и обновляет содержимое myDiv
на основе текста ответа.Итак, после обновления myDiv
показывает Button3
ссылку + сообщение, показывающее, какая кнопка была нажата.
Проблема:
Кажется, все работает нормально, нопосле нескольких нажатий myDiv
показывает loader.gif
изображение и останавливается.После этого, если я подожду несколько минут, браузер иногда перестает работать (блокируется).Я заметил эту проблему с IE6.
Может кто-нибудь сказать, что означает эта проблема и можно ли ее избежать?
index.html
<html>
<head>
<script type="text/javascript" src="mootools/mootools-1.2.4-core-nc.js"></script>
<script type="text/javascript" src="mootools/mootools-1.2.4.4-more.js"></script>
<script type="text/javascript">
window.addEvent('domready', function() {
$("myPage").addEvent("click:relay(a)", function(e) {
e.stop();
var myRequest = new Request({
method: 'post',
url: 'button.php',
data: {
button : this.get('id'), test : 'test'
},
onRequest: function() {
$('myDiv').innerHTML = '<img src="images/loader.gif" />';
},
onComplete: function(response) {
$('myDiv').innerHTML = response;
}
});
myRequest.send();
});
});
</script>
</head>
<body>
<div id="myPage">
<a href="#" id="button1">Button1</a>
<a href="#" id="button2">Button2</a>
<div id="myDiv">
<a href="#" id="button3">Button3</a>
</div>
</div>
</body>
</html>
button.php
<a href="#" id="button3">Button3</a>
<br><br>
<?php echo 'You clicked ['.$_REQUEST['button'].']'; ?>