Jquery 我是否错误地添加了此事件侦听器上的.on?
我正在尝试向动态创建的元素添加一个Jquery 我是否错误地添加了此事件侦听器上的.on?,jquery,Jquery,我正在尝试向动态创建的元素添加一个.on事件,但它似乎不起作用 我的表格呈现正确,但当我单击我的exp\u coldiv时,没有发生任何事情,甚至没有错误消息 我有没有做错什么 jQuery.each(items, function(index, item) { jQuery('<tr>') .addClass('item_class') .append( jQuery('<
.on
事件,但它似乎不起作用
我的表格呈现正确,但当我单击我的exp\u col
div时,没有发生任何事情,甚至没有错误消息
我有没有做错什么
jQuery.each(items, function(index, item) {
jQuery('<tr>')
.addClass('item_class')
.append(
jQuery('<td/>')
.addClass('text')
.text('XXX')
.append(
jQuery('<div />')
.addClass('exp_col')
.text('More...')
)
)
.append(jQuery('<td/>').addClass('info').text('yyy'))
.appendTo(table);
});
table.on("click", ".exp_col", function(e) {
myFunc( this );
});
table.appendTo(div);
我的总体目标是打开和关闭两个函数。事件处理程序仅绑定到当前选定的元素;在代码进行事件绑定调用时,它们必须存在于页面上 委派事件的优点是,它们可以处理来自子元素的事件,这些子元素将在以后添加到文档中 动态创建元素时。 你需要使用。您必须使用委托事件方法 一般语法
$(document).on(event, selector, eventHandler);
根据您的代码使用:
//Move the event handler outside each block
table.on("click", ".exp_col", function() {
console.log('test');
});
table.appendTo(div);
很好用!干杯!!我想知道你能不能把你的答案稍微扩大一点?我已经编辑了上面的问题。@Daft,你想用
myOtherFunc
做什么?您是如何使用它的,在哪里使用它的?myOtherFunc
将执行一些CSS操作,再次添加myFunc
,然后将其自身删除。因此,如果我连续单击exp\u col,它将在这两个函数之间来回切换。
//Move the event handler outside each block
table.on("click", ".exp_col", function() {
console.log('test');
});
table.appendTo(div);