img onclick无法正常工作

时间:2016-03-28 15:06:03

标签: javascript jquery html

JS:

htmlStr += '<table id="summary-table">'
         + '<col width="200"><col width="315"><col width="600"><col width="1000">'
         + '<tr><th>Month'
         + '&nbsp;&nbsp;&nbsp;<img id="azsort-month" src="sort.png" alt="Sort by Alphabetical Order (A to Z)" style="width:20px; height:20px;">'
         + '</th><th>Header2</th><th>Header3/th><th>Header4</th></tr>';

我试过了两次

htmlStr += '<table id="summary-table">'
         + '<col width="200"><col width="315"><col width="600"><col width="1000">'
         + '<tr><th>Month'
         + '&nbsp;&nbsp;&nbsp;<img id="azsort-month" src="sort.png" onclick="alert("test")" alt="Sort by Alphabetical Order (A to Z)" style="width:20px; height:20px;">'
         + '</th><th>Header2</th><th>Header3/th><th>Header4</th></tr>';

$(document).ready(function() {
        $('#azsort-month').click(function(){
            alert("test");
        });
    });

$('#azsort-month').click(function(){
  alert("test");
});

htmlStr var是将JSON输出显示为HTML表的函数的一部分;除了img

上的点击事件外,它适用于整个表格

1 个答案:

答案 0 :(得分:3)

您必须使用事件delegation,因为#azsort-month img在您附加该事件处理程序时不存在,所以:

$(document).on('click','#azsort-month',function(){
  alert("test");
});