0

この問題は特に Safari で発生します。

<div id="list">
    <ul>
        <li onclick="do_something();"><!-- block with stuff in it --></li>
    </ul>
</div>

上記が正常に読み込まれると、onclick は li ブロック全体に適用されます。問題は、後で ajax を使用して #list div を動的に設定するときです...

$("#list").html('<ul><li onclick="do_something();"><!-- block with stuff in it --></li></ul>');

クリック イベントはブロック全体ではなく、ブロックの一部 (つまり、コンテンツが存在しないブロックの一部、背景) でのみ発生します。

4

2 に答える 2

2

それは奇妙だ。ただし、これには jquery イベントを使用できます。

$("#list")
    .empty()
    .append ( $('<ul><li><!-- block with stuff in it --></li></ul>' )
        .find('li')
        .click(dosomething)
        .end()
    );
于 2010-01-03T18:18:16.970 に答える
0

奇妙なセキュリティ上の理由から、innerHTML プロパティの使用中に onclick を使用することはできません (これはまさに html() が行うことです)。addEvent(mootools) を使用してイベントをアタッチする必要があります -> jquery で関連するメソッドを見つけます

于 2010-01-03T18:27:35.423 に答える