这是我的第一个问题,我担心这可能是一个愚蠢的问题,但我花了很多时间试图解决这个问题而且我失败了。
我正在使用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不是函数
如果我需要提供更多信息或我遗漏的任何代码,请告诉我。
答案 0 :(得分:3)
该函数是stopPropagation,带有a - 而不是o。