У меня есть кнопка, которая отображает "HI" при нажатии. Кнопка находится в div под названием «Panel1», для обновления которого я использую AJAX. После первого нажатия, когда Panel1 перезагружается, нажатие кнопки даже больше не срабатывает. Я предполагаю, что это связано с всплытием событий... но я просто не могу решить эту проблему за последние 3 дня. Пример кода выглядит следующим образом: -
<script language="JavaScript" type="text/javascript">
document.observe("dom:loaded", function() {
$$("#ShowDialog").invoke('observe', 'click', function() {
alert("HI");
AjaxPanel.reload($("Panel1"));
});
</script>
</head>
<body>
<div id="Panel1">
.
.
.
<input name="btnAdd" type="submit" value="Add" id="ShowDialog">
</div>
</body>
</html>
Любой совет глубоко ценится.
#ShowDialog
, но затем AJAX изменяет#Panel1
innerHTML
или что-то в этом роде, что означает, что технически#ShowDialog
на самом деле будет новым<input>
без прослушивателя событий. . Это имело какой-то смысл? В любом случае, если это так, то решение состоит в том, чтобы использовать делегирование событий вместо прослушивателя событий. Но я определенно недостаточно знаю о Prototype, чтобы рассказать вам, как это можно сделать. - person sdleihssirhc   schedule 19.08.2011jQuery
илиPrototype
? Или оба? Невозможно сказать это по заголовку вопроса и коду, и ответ зависит от этого. - person J0HN   schedule 19.08.2011