event.stopPropogation不是一个函数

时间:2016-06-22 21:44:45

标签: javascript jquery datatables

这是我的第一个问题,我担心这可能是一个愚蠢的问题,但我花了很多时间试图解决这个问题而且我失败了。

我正在使用DataTables插件并尝试创建一个包含可折叠行的表。行将具有“选择”按钮,每个按钮都有自己的.on(“单击”)功能。单击子行时,其click函数及其父行的函数都会执行。我很确定这是因为事件正在冒泡DOM元素(子行到父行),我试图在click函数中使用event.stopPropogation(),但无论我尝试什么,我得到错误消息:“event.stopPropogation()不是函数”

这是我的基本表设置:

function _table(targetDiv) {

  var keyTable = d3.select("#juice").append("table")
    .attr("id", "keyTable");

  var keyHead = keyTable.append("thead");
  var columnNames = [null, "CPC", "Description"];

  keyHead.append("tr")
    .selectAll('td')
    .data(columnNames).enter()
        .append('th')
        .html(function(d) { console.log(d); return d; });

  $(document).ready(function() {
    table = $('#keyTable').DataTable({
        "ajax": "testing.txt",
        "columns":[     
            {
                 //some stuff
            }
        ]
    });

在我的事件监听器中(我相信这就是所谓的),我已经尝试过几种方式,但这些方法都不起作用:

        $('#keyTable tbody')
        .on("click", 'tr', function(event){

             //add children and whatnot
             event.stopPropogation();
        }

总是我得到同样的错误:未捕获的TypeError:event.stopPropogation不是函数

如果我需要提供更多信息或我遗漏的任何代码,请告诉我。

1 个答案:

答案 0 :(得分:3)

该函数是stopPropagation,带有a - 而不是o。