jQuery使用click()处理函数为表添加一行

前端之家收集整理的这篇文章主要介绍了jQuery使用click()处理函数为表添加一行 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在构建的控件存在问题,该控件包含一个可滚动主体的表.这些行具有一个click()函数处理程序,该处理程序的建立方式如下:

    /**
     * This function is called when the user clicks the mouse on a row in
     * our scrolling table.
     */
    $('.innerTable tr').click (function (e) {
      //
      // Only react to the click if the mouse was clicked in the DIV or
      // the TD.
      //
      if (event.target.nodeName == 'DIV'  ||
          event.target.nodeName == 'TD'     ) {
        //
        // If the user wasn't holding down the control key,then deselect
        // any prevIoUsly selected columns.
        //
        if (e.ctrlKey == false) {
          $('.innerTable tr').removeClass ('selected');
        }

        //
        // Toggle the selected state of the row that was clicked.
        //
        $(this).toggleClass ('selected');
      }
    });

有一个按钮可以向表中添加行,例如:

$('#innerTable > tbody:last').append('<tr>...some information...</tr>');

尽管成功添加了行,但由于某种原因,静态行可以与点击处理程序一起使用,但是新添加的行却不能.有什么我想念的吗?

最佳答案
尝试使用.live()

$('.innerTable tr').live('click',function (e) { ... });

它将事件处理程序绑定到与添加到DOM的选择器匹配的任何当前和将来的元素.

猜你在找的jQuery相关文章