0

カードリストを書いています。
カードを引く前のカードリストは次のとおりです。

<div id="cards-div">
    <ul id="cards-list">
    </ul>
</div>

カードを引いた後のカードリストは次のようになります。

<div id="cards-div">
    <ul id="cards-list">
        <li>hello</li>
    </ul>
</div>

インデックスを同時に受け取るonclick関数を追加するにはどうすればよいですか?

<div id="cards-div">
    <ul id="cards-list">
        <li onclick="mouseoverCard(index)">hello</li>
    </ul>
</div>

mouseoverCard: function(index) {
    alert(index);
}

jquery.click()を使用してマウスオーバー関数を宣言しようとしましたが、DOMが存在する場合にのみ機能することに注意してください。DOMが存在しなくても関数を宣言したい。

4

2 に答える 2

4

私が理解したように、親<ul>要素は静的です。したがって、イベント委任を使用できます。

$("#cards-list").on("click", "li", function(e) {
    var i = $(this).index();
    // ...
});
于 2013-02-18T13:13:16.733 に答える
1

委譲イベント アプローチでは、イベント ハンドラーを 1 つの要素のみにアタッチし、イベントは#cards-list1 レベル (クリックliされたものから にul)バブルアップするだけで済みます。

$("#cards-list").on("click", "li", function(event){
     alert($(this).index());
});

参照: .on()

于 2013-02-18T13:16:35.217 に答える