javascript - 无法使用 jquery 调用 javascript 附加类

标签 javascript jquery

我无法在jquery中调用附加了javascript的类。它根本不响应它。

我在 html 中附加了以下内容:

$(function () {
var $scntDiv = $('#parts');
var i = $('#parts input').size();

$('#addField').on('click', function () {
    var part = '<div id="parts' + i + '"><hr /><input type="text" id="auto_part' + i + '" class="auto_part" name="auto_part' + i + '" placeholder="Dio" /><br/>' +
        '<textarea type="text" id="auto_description' + i + '" class="auto_description" name="auto_description' + i + '" placeholder="Vise informacija"></textarea> <br />' +
        '<a href="#" class="addPhoto' + i + '" style="display:block;">Add Photo</a><input type="file" name="auto_image" class="auto_image' + i + '" style="display:none;" /><a href="#" class="removefield">Izbrisi dio</a></div>';
    $scntDiv.after(part);
    $("#row_count").val(i);
    i++;
    return false;
});

$(document).on("click", ".removefield", function () {
    if (i > 2) {
        $("#row_count").val(i);
        $(this).parent('div').remove();
        i--;
    }
    return false;
});

});

因此它创建了 addPhoto2、addPhoto3 等等。但是当我使用这个时:

$(function () {
    $(".addPhoto2").click(function(){
       console.log("Hello");
    });
});

它只是对 addPhoto2 没有做任何事情。虽然我可以调用默认加载的 addPhoto 本身。

最佳答案

您需要在创建元素时将事件附加到该元素,因为当您尝试连接该事件时,如果该元素不存在于 DOM 中,则简单的事件将不起作用。您可以为此使用事件委托(delegate)。不过,您已经有了一个很好的 Hook 。

您需要做的是在将元素放置在此处后附加此事件:

$scntDiv.after(part);
$('.addPhoto' + i).click(function(){
    alert("!"); 
 });

这是一个工作演示:http://jsfiddle.net/eQbEt/

关于javascript - 无法使用 jquery 调用 javascript 附加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15328455/

相关文章:

javascript - 如何检查滚动条是否靠近底部

javascript - angularjs - 有条件地显示/隐藏输入字段

javascript - ajax 调用后更新 Kendo Grid 内容

javascript - 在 mark.js 中突出显示另一个已突出显示的术语中的术语

javascript - jQuery:IF 语句中的 addClass 不切换

javascript - 显示选定的菜单项必须显示在父项中

javascript - Keypress 在带有 div 的表格中不起作用?

javascript - JQuery/Javascript 自动完成有一个非常小的错误!有 javascript 经验的人可以帮我吗?

javascript - 点击span下载html文件

javascript - 贝塞尔曲线在 HTML5 Canvas 中绘制拉伸(stretch)椭圆