Не работает javascript в документе, вызванным AJAX.
Собственно, сабж.
Вызываю документ:
$(document).ready(function(){
$('#butnews').click(function(){
$.post(
"/newsbox.php",
writebox
);});
});
function writebox(data){
document.getElementById('newsbox').innerHTML = data;
}
Появляется документ, вида:
<button onclick="opana()">Обновить</button><br>
<script>
function opana(){
alert('123');
}
</script>
При нажатии на кнопку, ничего не происходит. В чём ошибка? |
так попробуйте
function writebox(data){
$('newsbox').html(data)
}
|
а так у меня перестаёт записываться документ.
|
Hauster,
<button id=butAJaks
<script>
$("#butAJaks").live("click", function(){
alert("Oppana");
alert('123')
});
</script>
|
Цитата:
|
melky,
Да нет - тут суть в привязках событий, трабла обычно нет если бы скрипт обработки подгружался вместе с кнопкой и чуть впереди по контенту |
Вот страница:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js"></script>
</head>
<body>
<button id="button">Жми!</button>
<div id="text">non</div>
<script>
$('#button').click(function(){
$.post(
"./123.html",
writebox
);});
function writebox(data){
document.getElementById('text').innerHTML = data;
}
</script>
</body>
</html>
Вот страница 123:
<div id="butAjaks">123</div>
<script>
$("#butAJaks").live("click", function(){
alert("Oppana");
});
</script>
Google Chrome ошибок не выдаёт. Если поставить скрипт выше, ничего не произойдет. |
Цитата:
<button onclick="opa()">?!</button>
<script>
function opa() { alert("!!!!!!"); }
</script>
Hauster, читайте мой пост. |
Цитата:
Скрипты существуют в Google Chrome, но они не работают. И как быть в таком случае? |
Цитата:
а если просто в файл, откуда загружается html, поставить тег script с alert, то он вылетает? попробуйте добавить в options параметр dataType со значением "html" source |
Hauster,
Поставьте мою версию - она анализирует событие как оно происходит.. Ы... |
Цитата:
|
Цитата:
Цитата:
И нет, при загрузке 123 ничего не происходит.
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js"></script>
</head>
<body>
<button id="button">Жми!</button>
<div id="text">non</div>
<script>
$('#button').click(function(){
$.ajax({
type: "POST",
url: "./123.html",
dataType: "html",
success: writebox
});
});
function writebox(data){
document.getElementById('text').innerHTML = data;
}
</script>
</body>
</html>
123 <script> alert(123); </script> Соответственно:
$('#button').click(function(){
$.ajax({
type: "POST",
url: "./123.html",
dataType: "script",
success: writebox
});
});
function writebox(data){
document.getElementById('text').innerHTML = data;
}
Так выводит алерт: 123. Если в файле только код JS: alert(123); |
Hauster, A так ?
<button id=butAJaks
<script>
$(document).ready(function(){
$("#butAJaks").live("click", function(){
alert("Oppana");
alert('123')
});
});
</script>
|
Цитата:
И ничего при нажатии не происходит. |
Hauster,
<button id=butAJaks>Обновить</button><br> Зачеркнутое то убирали - мну ж спецом зачеркнул |
Цитата:
<button id="butAjaks">ALERT!</button>
<script>
$(document).ready(function(){
$("#butAJaks").live("click", function(){
allert("Oppana");
alert('123')
});
});
</script>
Уж извините, догадался. |
Hauster,
:-E Соррь - там два LL в ALERT - поправил |
Цитата:
В общем, решил проблему отдельно подключая JavaScript.
$.ajax({
type: "POST",
url: "/scripts/upon.js",
dataType: "script",
success: javac
});
Извращенски конечно, но да ладно. Работает же :D |
Hauster,
Ну а кто мешает запихнуть весь код в JS ? Дабы не было двух запросов.... |
Цитата:
Сам то хоть пробывал? :D |
Цитата:
var s='<button onclick="opana()">Обновить</button><br>'; $("#writebox").append(s) |
| Часовой пояс GMT +3, время: 19:30. |