0

私の画像のonclickイベントを作成しようとしていますが、うまくいきません..アラートが表示されません..

$(document).ready(function(){
    $('img.closeAttrIcon').click(function(){
        alert("ww");
    });
});

こんな風にバインドしてみてもしょうがない...

$(document).ready(function(){
    $('img.closeAttrIcon').bind('click',function(){
        alert("ww");
    });
});

このイベント中に html が作成されます。

$('a#btnAddStdntAttr').click(function(){
    var newAttr = '<div class="attrParent"><br class="clear"><label></label><input type="text" id="stdntAttributeKey1" maxlength="250" style="width: 13%;" name="stdntAttributeKey1"/>';
    newAttr+= '<input type="text" id="stdntAttributeValue1" maxlength="250" style="width: 13%;" name="stdntAttributeValue1"/>';
    newAttr+= '<img src="<c:url value="/static/images/closeIcon.png"/>" onclick="removeStdntAttr();" class="closeAttrIcon" alt="Close" title="Close" /></div>';
    $(this).after(newAttr);
});

ここで何が間違っているのですか..助けてください..

4

1 に答える 1

0

DOM が初めて作成された後に注入しているため、機能しません。そのためには、live(til jQuery 1.7 を使用している場合) またはon(1.7+) バインディング メソッドを使用している場合に使用する必要があります。

呼び出しを次のように変更します。

$(function(){
   $('img.closeAttrIcon').live('click', function() {
        alert("ww");
    });
});

jQuery 1.7+ を使用している場合は、次のようにすることもできます。

$(document).on('click', 'img.closeAttrIcon', function() {
    alert("ww");
}); 
于 2012-05-01T10:58:05.220 に答える