2

問題があります。DOM に新しい要素を追加した後、要素が古いスクリプトとこのドキュメントにあった同じ機能を認識しません。この問題を解決するにはどうすればよいですか? スクリプトをリロードする方法

<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<div id='content'>Content.....</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script>
<script src='js/script.js' type='text/javascript'></script>
</body>
</html>




//          script.js         //

$('#content').click(function(){
    $('body').append('<div id="apended">Click me!</div>');
});


$('#apended').click(function(){
    alert('click!');
});
4

2 に答える 2

5

関数を使用.on('click', function (e) {})すると、既存の要素に対してのみ機能します。将来追加される要素であっても、すべてのセレクター要素でクリック イベントを処理するには、次の関数のいずれかを使用できます。

$(document).on('click', "#appended", function (e) {
    // some code code
    alert('click!');
});

また:

$("body").delegate("#appended", "click", function () {
    // your code goes here
    alert('click!');
});

詳細については、イベント委任についての記事を参照してください。

于 2013-11-02T13:51:44.403 に答える