[d_0, d_1, ..., d_{r-1}, num_classes]
给出此代码,我的回调在Dom中显示为
var handler = new Handler();
var iife = (function() {
return {
doAlert: doAlert
};
function doAlert() {
alert('testing');
}
})();
function Bar(){
this.doFirst = function(){
handler.add("x", iife.doAlert);
}
}
function Handler(){
this.add = function(caption, callback){
var linkText = document.createTextNode(caption);
var href = document.createElement("a");
href.appendChild(linkText);
href.setAttribute("href", "#");
href.setAttribute("onclick", callback);
$(".bc").append(href);
}
}
这实际上是在我的function doAlert() {
alert('testing');
}
属性中。显然这不是我想要的。我需要怎么做才能显示警报?我本来希望看到类似onclick
的东西,为什么不这样呢?
答案 0 :(得分:6)
属性值是字符串。由于您正在传递函数,因此会隐式调用其.toString()
方法来设置onclick
的属性值。
请勿使用onclick
属性。 Use addEventListener
instead。
href.addEventListener("click", callback);