JS元素的onclick事件没有被触发
JS element onclick event not being fired
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 开发工具)中,我看到以下内容:
function (e) { alert("A"); }
然后
undefined
单击元素后,事件不会触发。我注意到将 onclick 应用于控制台中的同一元素,但是,确实 正确地应用了该事件。
如何申请此活动?
在绑定onclick事件之前,您需要将您创建的link添加到DOM。
执行此操作后,您将不会再为 onclick 事件的日志获取 undefined。
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);
事实上,这个问题是由一个错字引起的,因为你有:
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。
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 开发工具)中,我看到以下内容:
function (e) { alert("A"); }
然后
undefined
单击元素后,事件不会触发。我注意到将 onclick 应用于控制台中的同一元素,但是,确实 正确地应用了该事件。
如何申请此活动?
在绑定onclick事件之前,您需要将您创建的link添加到DOM。
执行此操作后,您将不会再为 onclick 事件的日志获取 undefined。
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);
事实上,这个问题是由一个错字引起的,因为你有:
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。