我正在尝试将事件分配给新创建的DOM元素:
var Element = document.createElement("div");
$(document).on('click',Element,function() {
console.log("B");
});
执行此代码并单击新创建的div后,没有任何反应。 知道为什么吗?
我也尝试过:
var Element = document.createElement("div");
$(Element).click(function(event) {
console.log("B");
});
答案 0 :(得分:2)
以下是一种方法:
var $div = $('<div>')
.text('Click Me!')
.on('click', function() {
alert('Clicked!');
});
$(document.body).append($div);
// Now you can click on it and see the alert.
答案 1 :(得分:0)
因为你正在使用jQuery ......
var Element = $("<div/>").click(function() {console.log("B");}).appendTo('body');
当然,将它追加到您需要的地方......
答案 2 :(得分:0)
只需将您的事件绑定在正文上,然后将参数传递给参数,如下所示:
$('body').on('click','.foo',function() {
console.log("B");
});
var Element = document.createElement("div").className = "foo";
这里是codepen: