li标签在IE9下无法取得监听click事件的解决办法

做autocomplete时候出现IE8、9下无法取得监听click事件,找了很多办法,最后把

  • 标签改成
    解决问题

    代码如下:

     function dataToDom(data) {
      var num = data.length;
      if ((options.maxItemsToShow > 0) && (options.maxItemsToShow < num))
       num = options.maxItemsToShow;
      var table = document.createElement("table");
      // limited results to a max number
      for ( var i = 0; i < num; i++) {
       var tr = table.insertRow(i);;
       var td=tr.insertCell(0);
       var row = data[i];
       if (!row)
        continue;
       //var td = document.createElement("td");
       if (options.formatItem) {
        td.innerHTML = options.formatItem(row, i, num);
        td.selectValue = row[0];
       } else {
        td.innerHTML = row[0];
        td.selectValue = row[0];
       }
       td.style.width="79px";
       $(td).hover(function() {
        $("td", tr).removeClass("ac_over");
        $(this).addClass("ac_over");
        active = $("td", tr).indexOf($(this).get(0));
       }, function() {
        $(this).removeClass("ac_over");
       }).click(function(e) {
        e.preventDefault();
        e.stopPropagation();
        selectItem(this);
       });
       
      }
      return table;
     };

    你可能感兴趣的:(li标签在IE9下无法取得监听click事件的解决办法)