AFAICTこれは機能するはずですが、機能しません。jQuery 1.9.0 を使用すると、次のようになります。
<html>
<head>
<script type="text/javascript" src="js/libs/jquery-1.9.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function() {
$("#area").html("<p>click me</p>");
});
$("p").on("click", function() {
alert($(this).text());
});
});
</script>
</head>
<body>
<p>some text</p>
<button>Create me</button>
<div id="area"></div>
</body>
</html>
「何らかのテキスト」をクリックするとアラートが表示されるのに、生成された「クリックしてください」をクリックすると表示されないのはなぜですか? .on() の要点は、動的に生成されたコードでイベント ハンドラーを有効にすることだと思いました。Click event does not work on dynamic generated elementsによると、これは機能するはずですが、機能しません。http://jsfiddle.net/ymUYy/1/を参照してください