0

我试图为我的图像制作一个 onclick 事件,但它不起作用..警报没有显示..

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

即使我尝试这样用..bind ..没有希望...

$(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 回答