我有一个< a>我使用dom选择的元素。我有以下代码:
var link = document.createElement("a");
var ce = function (e) {
alert("A");
}
link.onclick = ce; // Or link.addEventListener("click", ce);
console.log(ce);
console.log(link.onlick);
在控制台(chrome dev工具)中,我看到以下内容:
function (e) { alert("A"); }
然后
undefined
单击元素后,事件不会触发。我注意到将onclick应用于控制台中的相同元素,然而, 正确应用了该事件。
如何申请此活动?
答案 0 :(得分:1)
在绑定onclick事件之前,您需要将创建的链接添加到DOM。
执行此操作后,您将不再对onclick事件的日志进行未定义。
var link = document.createElement("a");
var ce = function (e) {
alert("A");
}
// Add link to page
document.body.appendChild(link);
link.onclick = ce; // Or link.addEventListener("click", ce);
console.log(ce);
console.log(link.onclick);
答案 1 :(得分:1)
事实上,这个问题是由一个错字造成的,因为你有:
console.log(link.onlick);// onlick !!
而不是:
console.log(link.onclick);
这里是完整的代码:
var link = document.createElement("a");
var ce = function (e) {
alert("A");
}
link.onclick = ce; // Or link.addEventListener("click", ce);
link.text="Click me!!";
document.body.appendChild(link);
console.log(link.onclick);// here you will get function (e) { alert("A"); }
现在它工作正常, here's a DEMO 。