2012-06-06 3 views
3

Мой soft.php код.он() не работает на AJAX загруженной странице

<!DOCTYPE html> 
<html> 
<head><style> 
</style> 
<script src="jquery.js"></script> 
<script> 
$(function(){ 
$("button").on("click",function(){alert("f");}); 
$("div").on("click",function(){ 
$("span").load("check.php"); 
}); 

});</script></head><body> 
<div>Click</div> 
<button>eaf</button><span></span> 
</body></html> 

И check.php код

<body> 
<button>Hello</button> 
</body> 

Я хочу предупредить п при нажатии на кнопку, которая загружается с помощью ajax, который отлично работает с .live(). Но кто-то сказал мне, что .он() может быть использован вместо живой, но .on() не работает here.Suggest решение

+1

'.На()' требует JQuery v1.7 или выше. Какую версию вы используете? – andyb

+0

тот, который указан вами –

+0

Вы неправильно преобразовали код '.live' в' .on'. ** [Пожалуйста, прочтите документацию] (http://api.jquery.com/live/) ** и/или ** [используйте поиск] (http://stackoverflow.com/questions/8021436/jquery-1 -7-токарно-жить-в-на/8021462 #) **. –

ответ

7
$('body').on("click", "button", function(){ 
    alert("f"); 
}); 

Как ваш button добавлен в DOM после загрузки страницы вы должны использовать делегат мероприятие.

Было бы лучше использовать что-то другое селектор вместо body.

Вы можете использовать несколько селектор, как follwoing:

$('body').on("click", "button, div", function(){ 
    alert("f"); 
}); 

Читайте о .on()

+0

можно использовать несколько раз с телом –

+0

@Somebodyisintrouble yup, вы можете использовать, проверьте мое обновление – thecodeparadox

+0

что делать, если функция для div и кнопки разные –