-1

jQuery を使用して画像のクリック イベントを作成しようとしていますが、試行するたびに失敗します。

最初にdivがあります:

<div id="price-holder"></div>

次に、jQuery を使用して、次を使用してこの HTML を挿入しています。

$("#price-menu li:nth-child(2)").click(function() { 
    var pregHTML = $("#cakesmash-price").html();
    $("#price-holder").html(pregHTML);
});

ただし、この HTML を使用しても機能しません

<div id="cakesmash-price" style="display:none">
   <img  id="cake" src="images/order.png" height="32px" onclick="pregbasic(this);">
</div>

画像の属性を使用しようとしましたがonclick、jQueryのセレクターをIDで使用してみました

$("#cake").click(function(){

})

しかし、どちらも機能しませんでした。

誰でも私を助けることができますか?

ありがとう

4

3 に答える 3

1

これは、要素が実際にページに追加されていることを前提としています。

要素をページに追加する前にクリックイベントを追加しているのは、セレクターが何も見つからなかったため、イベントを追加しなかったことを意味します。

要素を追加した後にイベントを追加するか、イベント委任を使用してください。

$("#price-holder").html(pregHTML);
$("#cake").click(function(){

});

また

$("#price-holder").on("click", "#cake", function () {

});
于 2013-11-13T20:54:45.280 に答える
0

エラーは、セレクター「#price-menu li:nth-child(2)」の選択が原因である可能性があります。JS .children および .eq セレクターを使用してみてください。また、コードが動的に追加された場合は、.click() ではなく .on() イベント ハンドラの使用を検討してください。

于 2013-11-13T20:54:31.207 に答える
-1

これを行うためにjQueryを使用せずに、実際に必要なDOMから始めてください:

<div id="price-holder">
    <div id="cakesmash-price" style="display:none">
        <img  id="cake" src="images/order.png" height="32px">
    </div>
</div>

次に、#cake にクリック ハンドラーを追加します。

$('#cake').on('click', function (event) {
    // your logic goes here
});
于 2013-11-13T20:53:55.297 に答える