Jquery 。在附加元素上单击“错误”,即使使用.on

Jquery 。在附加元素上单击“错误”,即使使用.on,jquery,Jquery,尝试使用时出错。单击附加的div元素,因此我尝试使用.on,但没有解决此问题。这段代码的最后几行有什么问题 element.table是令人沮丧的一个: $('#mapH').focusout(function(){ var i = 0; while (i < $('#mapH').val()) { $('#mapCreator').append("<div class='row'></div>"); var

尝试使用时出错。单击附加的div元素,因此我尝试使用.on,但没有解决此问题。这段代码的最后几行有什么问题

element.table是令人沮丧的一个:

    $('#mapH').focusout(function(){
    var i = 0;
    while (i < $('#mapH').val()) {
        $('#mapCreator').append("<div class='row'></div>");

        var j = 0;
        while(j < $('#mapW').val()) {
            $('.row').last().append("<div class='table empty "+i+"-"+j+"'></div>");
            j++;
        }
        i++;
    }
    $('.table').css("width", 100/$('#mapW').val()+"%");
    $('.row').css("height", $('.table').width());
})



$('.table').on("click", function(){
    //$('body').append("<div class='popup'></div>");
    alert('hej');
})
$('#mapH').focusout(函数(){
var i=0;
而(i<$('#mapH').val()){
$(“#mapCreator”)。追加(“”);
var j=0;
而(j<$('#mapW').val()){
$('.row').last().append(“”);
j++;
}
i++;
}
$('.table').css(“宽度”,100/$('#mapW').val()+“%”);
$('.row').css(“高度”,$('.table').width());
})
$('.table')。在(“单击”,函数()上){
//$('body')。追加(“”);
警惕(“hej”);
})

清空后,表类中可能会有额外的空间。将
class='table empty'
更改为
class='table empty'
,并将事件委托给.table.empty或document的父级

$(document).on("click",'[class^=table]', function(){
    //$('body').append("<div class='popup'></div>");
    alert('hej');
});
$(文档)。在(“单击”、“[class^=table]”上,函数(){
//$('body')。追加(“”);
警惕(“hej”);
});
您可以尝试:

$("div .table").click(function(){

// code here 

alert("call");

});

右括号后面不应该有分号吗?错误是什么?请更具体地说明您的问题。您遇到了什么错误?警报('hej');当单击元素.table时,代码的底部没有出现空格。如果按照您的建议删除空格,不会导致类
empty0-0
?然后
.table.empty
将永远不会匹配?我喜欢第一个选择器(
.table.empty
)更好,因为它不依赖于将
table
作为
class
的开头,我只会将类更改为类似这样的
table empty-empty0-0
table empty-cell0-0
我并不真正理解弄乱class='table empty 0-0'并将其编辑到class='table'的目的清空0-0',我测试了它,它没有任何区别。如果
$(“.table”)。在(“单击”、…
上不起作用,那么
$(“div.table”)。在(“单击”、…
$(“div.table”)。单击(…
也不起作用。因为它使用了更具体的选择器。